Find Jobs
Hire Freelancers

A piece of code that can extract shapes from bitmaps is needed

€250-750 EUR

Cerrado
Publicado hace alrededor de 8 años

€250-750 EUR

Pagado a la entrega
We seek someone that can develop a piece of C# code that can extract characters and other well-defined shapes from a bitmap and return a list of these shapes. We hope that the attached example illustrates the task. The shapes that are shown in the blue rectangle should be extracted as the set of shapes that are shown in the green rectangle (each shape is contained in a red rectangle). Hence there are 19 shapes that should be extracted in this example. Feel free to ask questions if you feel that the task is not specified clearly enough. Also the aim for this piece of code is to extract the shapes as fast as possible; hence performance is a very important consideration when implementing this piece of code. For this reason when you bid on this task, please provide a small description of the approach that you want to apply in solving this task, for instance you can mention algorithms or data structures that you’d like to apply in solving this problem. Thank you in advance! Best regards, Eirik Svith
ID del proyecto: 10180099

Información sobre el proyecto

16 propuestas
Proyecto remoto
Activo hace 8 años

¿Buscas ganar dinero?

Beneficios de presentar ofertas en Freelancer

Fija tu plazo y presupuesto
Cobra por tu trabajo
Describe tu propuesta
Es gratis registrarse y presentar ofertas en los trabajos
16 freelancers están ofertando un promedio de €421 EUR por este trabajo
Avatar del usuario
Hello I'm interesting your project very well I'm a Good C++/C#, Java, OpenCV, Math, Algorithm expert. I m quite well experienced in these jobs. Let's go ahead with me I want to service for you continously. Thanks
€750 EUR en 10 días
5,0 (465 comentarios)
8,8
8,8
Avatar del usuario
Hi, please answer these questions: how exactly will the shapes be defined? will the shapes always be of the same size? will they always be of the same color? will the bitmaps contain just the shapes or other things too (like background)? can you give some examples of real bitmaps you will be using this program with? Also I don't fully understand your example: two letters ("a" and "t") are missing in the bottom row, why? Also why does the third last red rectangle in the bottom row contain the end points of the previous letter "t"? Do you consider that as well extracted? The same is true about the last two shapes that are not properly separated either (the second last red rectangle contains a part of the last shape). When you answer these questions, I can tell you my approach.
€250 EUR en 10 días
4,9 (69 comentarios)
6,0
6,0
Avatar del usuario
I am an experienced programmer, with more than 10 years of experience. I understand exactly what you need. I promise you will be satisfied with my work. Thank you for your trust.
€500 EUR en 10 días
5,0 (15 comentarios)
5,0
5,0
Avatar del usuario
Hi, are your shapes always separated from the backgrund that easily ( like black on white, or like shape below, background above teh bitmap.s mean level or some other trivial way to determine whether pixel belongs to a shape or background.) Also are the shaes separated from each other, no touching and overlap, It this is the case s imple flood fill algortihm would solve this (keeping trask of min max x/y coordinates, I guess the bounding box is axis aligned). For grater speed and lower stack usae a line scan flood fill is better , 4 or 8 connectivity, I inded use such thignfor some object detecion on job programs .. only a little bit bad think i I am less C# expariaenced, but Iguess I can do this if I have some time to se some bitmap loading and such auxilary things...
€277 EUR en 5 días
5,0 (12 comentarios)
4,1
4,1
Avatar del usuario
I have something similar. I used it to solve simple captcha, it is not 100%, but on this simple captcha it works with about 80% efficiency. I have to define all the shapes that are to be recognized in advance, a set of all shapes to be extracted. Then using very fast bitwise AND, XOR and OR operations defined shapes get compared with the test image. In my case 20% false detections comes from distortions in the test image. For now it works with a 5 character captcha, single thread on an older i5 resulting in about 100 images pro second getting processed. Set/number of shapes, size, and the size of the bitmap play a significant role in performance. My bid is also not final, depends on how good my solution suit your needs, how much customization is needed...
€670 EUR en 10 días
5,0 (2 comentarios)
4,0
4,0
Avatar del usuario
Hi, I’ve had a good look at your project description and I’m very interested in providing a solution. I have 4+ hands on experience on developing quality web solutions as well as desktop standalone solutions. I used to develop systems using latest adaptive technology such as 1. .NET/ASP.NET - MVC4,MVC5 - Entity Framework - SQL - C# (for .NET solutions) 2. JQuery/Javascript/HTML5 - Angular.js/Bootstrap etc (for designing and front end implementations) I want to start work immediately and awaiting for your positive response on skp id "agilepksolutions" so I can show you some of my Quality Development Work as well as we can discuss project in details. Thank you.
€444 EUR en 10 días
5,0 (11 comentarios)
4,0
4,0
Avatar del usuario
Hi The best approach from a performance point of view would depend on the size of the input images. With small images I would (1) identify background color (2) Flood fill a fuzzy match to that color with a chosen color (3) Any pixels not of the chosen color are the shapes (4) Flood fill those pixels to determine a min/max on the X,Y planes to form a rectangle that will encapsulate it (5) repeat until all non chosen color pixels are gone. We then have a list of rectangles for the shapes. If it is the shapes you want and not the rectangles then the second flood fill can be eliminated. The original flood fill can store the pixels that it isn't changing into connected collections. On larger images, or noisy images, a D* implementation, or edge detection such as Canny, to find edges and a contour trace algorithm, possibly from the openCV library, would likely be more performant in finding the X,Y bounds. There will be a cut-off image size/noise ratio where one technique outperforms the other. Without knowing the reason for detecting the shapes it is difficult to be more specific. Your example image show irregularities in the boxing at the end of the sequence where the letters turn into shapes. Without knowing what you are trying to achieve, I am unsure why you have chosen to box those shapes as you have. Please feel free to ask questions if you have any Philip Smith
€555 EUR en 10 días
4,6 (4 comentarios)
4,1
4,1
Avatar del usuario
Hello. My solution is: 1)represent the picture as a graph: white pixels are nodes; pixels are adjacent if they are neighbors on the picture. 2)perform depth first search on that graph to find its connected components. 3)analyse each connected component in order to classify it as one of the shapes: shape is also a graph so if this two graphs are similar (it's the tricky moment - to invent similarity function) then mark the component as a shape.
€250 EUR en 2 días
5,0 (8 comentarios)
3,3
3,3
Avatar del usuario
I will approach the problem with BFS, achieving complexity of O(H*W), where H and W are respectively height and width of the bitmap. The program will return the set of shapes. The unclear part of the task however is the extraction of the characters. In the example, the letter 'i' is marked as two shapes, which runs contrary to your requirements, because it is not marked as a letter. If there is a mistake and you would like the program to recognize letters, please define what "well-defined" means. For example, whether the font is given or not.
€250 EUR en 3 días
0,0 (0 comentarios)
0,0
0,0
Avatar del usuario
Hi! My name is Konstantin. I'm an expert in real-time images and video processing, information extraction and objects recognition. Task you want to solve is relatively easy if you don't need to do it fast. If you need really quick and resource critical implementation number of special tricks can be used. It this particular case source image should be binarized, filtered from binary noise. Next binary 8-linked search should be used for shapes outlining with following image subdividing using found binary shape masks. All those steps can be really fast in case of proper implementation. Also it's possible to extract semi-overlapped shapes correctly, i.e. the last "t" letter and following "box-with-handle" shapes can be extracted with all belonging pixels separating them into bit bigger bounding rectangle. Feel free to ask any questions
€700 EUR en 10 días
0,0 (0 comentarios)
0,0
0,0
Avatar del usuario
- Experienced in Steganography algorithm which store plaintext into bitmap image - 5+ years experience with C#.NET - Will apply individual pixel scan in an image and then try to extract which pixel that isn't transparent or Alpha=0(Transparent pixel) and process it into a new bitmap picture based on each shape found.
€250 EUR en 3 días
0,0 (0 comentarios)
0,0
0,0
Avatar del usuario
I'd like to realize this in C++. I will enumerate closed shapes through flood filling, then compare with symbol templates
€555 EUR en 10 días
0,0 (0 comentarios)
0,0
0,0

Sobre este cliente

Bandera de DENMARK
København S, Denmark
5,0
3
Miembro desde abr 10, 2016

Verificación del cliente

¡Gracias! Te hemos enviado un enlace para reclamar tu crédito gratuito.
Algo salió mal al enviar tu correo electrónico. Por favor, intenta de nuevo.
Usuarios registrados Total de empleos publicados
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Cargando visualización previa
Permiso concedido para Geolocalización.
Tu sesión de acceso ha expirado y has sido desconectado. Por favor, inica sesión nuevamente.