Prev: Covariance
Next: inspect enumerations
From: ImageAnalyst on 11 Aug 2010 16:24 I was just trying some simple things to avoid doing OCR on the blobs. Of course if you make an algorithm that handles what you have so far, then it's always possible to encounter another brand new image that makes the algorithm fail in some way. Then you have to build some more intelligence into the algorithm to handle that new case. And keep at it until you don't get any more failures with new images.
From: Leonardo Oliveira on 11 Aug 2010 16:48 "Sean " <sean.dewolski(a)nospamplease.umit.maine.edu> wrote in message <i3v0jp$nbp$1(a)fred.mathworks.com>... > "Leonardo Oliveira" <leoadeoliveira(a)gmail.com> wrote in message <i3uv4t$im8$1(a)fred.mathworks.com>... > > ImageAnalyst <imageanalyst(a)mailinator.com> wrote in message <82d0ea12-895c-41c3-ac33-3aa33bbfa70b(a)q22g2000yqm.googlegroups.com>... > > > Just count the blobs. Then, if there are more than 7, examine the > > > first and last to see if they touch the right or left edges. If they > > > do, get rid of them. Adapt that somewhat for the case like there are > > > exactly 8, there are 10 or more, they don't touch the right/left > > > edges, etc. > > > > Thanks for the reply. > > I'll start by doing this. > > > > But supposing i have an image just like the image 4, but with char 7 touching the right edge. then i have a char touching an edge and that block touching the other edge. > > i know none of the images shown is in this situation, but i need a robust code, and probably this will happen sometime. > > > > Do you suggest i should proceed to char recognition with these "bad blocks" and then find a way to say "ok, this is absolutely not a char" and remove it OR you think i could try some other options now and to char recognition when i have the 7 objects alone? > > > Are these the original images you were given or do you have the unaltered license plate images? I wonder if there might be something you could do to improve the images themselves. Otherwise you have a fun and difficult task. LOL... But no, these are not the original images. http://img805.imageshack.us/f/26112002070747.jpg/ http://img339.imageshack.us/f/26112002070750.jpg/ http://img838.imageshack.us/f/26112002070810.jpg/ Ive been working on some algorithms to improve the images, but i think theres not much else to do. I found the portion of high frequency of the images (supposing the plate location will be this portion) using some windows (considering the 1:9 porportion size of the plates i got). I tried to use some filters to improve the images, but they dont help. actually, i think i got quite good results on this part. then i binarized it, removed some small blobs that were on the upper side of the image and not lower side, or were on the lower and not on the upper, unlike the chars, that are on both upper and lower sides. and now i got these big blobs, that just as the chars, are on the upper and lower sides. i think i can remove the blob on image 3 and 4 because of the position of the centroid, but blobs like the ones in image 7 are the problem. they quite just like number "1" and letter "I". anyone have an idea?
From: Leonardo Oliveira on 11 Aug 2010 16:53 ImageAnalyst <imageanalyst(a)mailinator.com> wrote in message <5529d081-7de5-4c47-838a-164fddffe51a(a)w30g2000yqw.googlegroups.com>... > I was just trying some simple things to avoid doing OCR on the blobs. > Of course if you make an algorithm that handles what you have so far, > then it's always possible to encounter another brand new image that > makes the algorithm fail in some way. Then you have to build some > more intelligence into the algorithm to handle that new case. And > keep at it until you don't get any more failures with new images. Yes, i am highly considering that. Your suggestions are good. hope this "brand new image" doesnt shows up. But i am just giving it a try before moving on. Maybe some solution shows up.
From: ImageAnalyst on 11 Aug 2010 17:55 On Aug 11, 4:48 pm, "Leonardo Oliveira" <leoadeolive...(a)gmail.com> wrote: > i think i can remove the blob on image 3 and 4 because of the position of the centroid, but blobs like the ones in image 7 are the problem. they quite just like number "1" and letter "I". > > anyone have an idea? --------------------------------------------------------------------- Why can't you use my suggestion? You have 9 objects - more than the required 7. Then you look at the centroids and find the outer two. Then you notice that they touch the right and left edges, so you zap those blobs, because you're going to assume that no valid characters would touch the edge in the event that you have 8 or more blobs. (I'm leaving out all the MATLAB commands for doing stuff like that because I'm assuming you know how to do things like that. Let me know if I'm wrong about that.)
From: Leonardo Oliveira on 11 Aug 2010 19:14
ImageAnalyst <imageanalyst(a)mailinator.com> wrote in message <694bbc53-c06c-4e15-9902-cf22cbf65770(a)t2g2000yqe.googlegroups.com>... > On Aug 11, 4:48 pm, "Leonardo Oliveira" <leoadeolive...(a)gmail.com> > wrote: > > i think i can remove the blob on image 3 and 4 because of the position of the centroid, but blobs like the ones in image 7 are the problem. they quite just like number "1" and letter "I". > > > > anyone have an idea? > --------------------------------------------------------------------- > > Why can't you use my suggestion? You have 9 objects - more than the > required 7. Then you look at the centroids and find the outer two. > Then you notice that they touch the right and left edges, so you zap > those blobs, because you're going to assume that no valid characters > would touch the edge in the event that you have 8 or more blobs. (I'm > leaving out all the MATLAB commands for doing stuff like that because > I'm assuming you know how to do things like that. Let me know if I'm > wrong about that.) I know the MATLAB commands to do things like that. I just don't want to assume all this stuff. I'm considering the valid characteres CAN touch the edge, even if I have 9 objects. Maybe one bad blob is between valid characters, like an hifen. I understand what you suggested and agree it would do OK for most of the cases. But I actually need a more robust code, and need more mathematical fundamentals to what I am doing than just "ok, valid chars don't touch the edges and it worked just fine". Hope you understand the real problem I have. |