Page 1 of 1
Automatic Numer Plate Recognision
Posted: Wed Aug 11, 2010 6:28 pm
by KevinT
Hi,
Saw around the net many users are looking at getting ANPR working.
Just stumbled across
http://javaanpr.sourceforge.net/
[tomlikp@fedora dist]$ java -jar javaanpr.jar -recognize -i /home/tomlikp/tmp/vanpics/anpr/img_3497-1024x768.jpg
WA52XGT
I down loaded the code onto my Linux machine with ZM and with a sample picture i ran it in cmd mode. This then reports the number plate if it finds it.
Im sure by adding this into a filter/trigger the event images can be scanned and a number plate taken from the image and logged against the event.
Happy hacking! :O)
Posted: Wed Aug 11, 2010 8:30 pm
by KevinT
just had a thought. if the ZM event generates a group of images and we run the ANPR as an event trigger on a range of images and we get a range of answers how do we work out which/what is the correct number plate .. e.g.
event image 1: javaanpr returns (null) - actual number plate not in view.
image 2: returns WA52 XXX
image 3: returns WA53 YXY
image 4: returns WA YXY
image 5: returns WA53 YX
image 6: returns (null)
image 7: returns (null)
etc etc.
Does anyone know of a method/program to take all of these outputs and merge the answers to give what we believe to be the correct number plate??
Thoughts?
Posted: Sat Jan 08, 2011 11:04 am
by bmarkovic
ANPR requires some inference algos obviously. It should be part statistic part educated inference.
If we have a stream of strings like this
<null>
WA52 XXX
WA53 YXY
WA YXY
WA53 YX
<null>
It should snip the nulls and obviously nonsensical strings, compare each string to a template explaining in what format the string should be (regex?) and align all strings to that template. It should also weight the strings according to how aligend they initially were to the template (and if the ANPR sript returns some soft of 'sureness' it should affect the rank).
It should have something like this on output (assuming it ranks only on alignment, not receiving ANPR 'sureness'):
7:WA52 XXX
7:WA53 YXY
5:WA?? YXY
6:WA53 YX?
And then it would not be a problem to infer that the correct string is:
WA53 YXY by simple comparison weighted sum averaging.
(i.e. the substring WA has w.s. of 25/25, 53 has w.s. of 13/25, whereas 52 has w.s. of 7/25, YX has 18/25, XX has 7/25, last letter Y has 12/25 whereas last letter being X has 7/25).
That's one example of an algo. Obviously the tough part -- the alignment algorythim -- isn't all that clear, but I'm pretty sure someone smart has already solved that problem and published it as open source.