Click here to Skip to main content
15,893,904 members
Please Sign up or sign in to vote.
4.00/5 (1 vote)
See more:
Hi, I need to develop an application to recognize licence plates.
Is the best way to do this OCR?

My difficulty is finding the licence plate in an image. How can I do it?

After recognizing the licence plate I am planning to serialize the image and after that apply the OCR.

If someone has any idea please help.
What is the best way , or the easiest way to do it?


Thank you!
Posted
Updated 15-Dec-10 4:10am
v2
Comments
Richard MacCutchan 15-Dec-10 8:55am    
This is a fairly common question, but I am afraid there is not an easy answer. You need to do some research on image acquisition and analysis. Try a Google search and see what's around.
Manfred Rudolf Bihy 15-Dec-10 10:12am    
Edit: Spelling, grammar and adjustment of title.

Hi,

I'd agree with the other comments made. Unfortunately this is not a simple operation as advanced image analysis is not a trivial area of research. Aside from locating the licence plate in an image, if you had a perfect noise free example, with no erroneous artefacts, edge detection algorithms would be best suited for your analysis. The artefacts you then retrieve could be compared to known symbols, using some metric such as mean squared error you could determine the most likely match.

Locating the licence plate however would be very difficult, similarly if we assume you're not using a perfect sample, pre-processing would take some thought. One consideration could be the orientation of the the image; is the plate at 90 degrees to your sample? If not you could have the symbol 'A' and an image of that symbol but because they are at different orientations the mean squared error would suggest there wasn't a match.

Removal of noise can be achieved by a convulsion of a mask to remove 'salt and pepper' type noise.

Hope this helps

Laurence
 
Share this answer
 
Comments
#realJSOP 15-Dec-10 13:03pm    
Well, someone has managed to do it, because there are a number of large metropiolitan police agencies using it that scan plates as the cops drive by, and if the car is stolen, it immediately comes up on their computer. However, as you and I have both stated, this is not a trivial project, so I doubt it's a class project.
This comes up every few months here. Do a search, and contact the other folks that have asked the same question if they ever found a solution.

Either this is a common class project, or one company after another somewhere in India wins and then loses the contract for this application, and when the next company picks it up, their programmers have the same questions.

Since it's a fairly complex problem that can't be solved in a single semester by beginner programmers, I have to assume it's the latter of the two possible situations.

 
Share this answer
 
v4
Comments
HimanshuJoshi 15-Dec-10 11:43am    
John, the first part of your answer is right and politically correct. However for the second part, if we want to keep this QA section clean, racism and stereotyping is not the way.
Richard MacCutchan 15-Dec-10 11:53am    
I don't see any racism or stereotyping, merely an observation based on some of the postings on this site.
Without reading above answers.. Have you tried C# emgu library?

http://www.emgu.com/wiki/index.php/License_Plate_Recognition_in_CSharp


Hope it helps!
 
Share this answer
 
Hi Marcel ;
i am also doing the same project using AForge.net; but i am not successful yet..


SQL
The second one is to identify the place where the license plate is using aForge.Net blobs recognition.



if u can please tell me that how have u detected the place where the number plate is; kindly tell me the algo [if u can give me the code of the license plate detection part; that would be great ; if not possible then it's ok] ;

i have used the following approach; may be u can help me in my algo

i have used a simple algo; although it is not very efficient but it will fulfills my requirements. i have calculated height,width and height to width(height/width) ratio of more than 40 car's numberplate; i searched for the rectangles in the image which lie in the range
of height, width and height to width ratio; now with this i am able to detect the number plate for most of the images but the problem is that along with the number plate; i am getting some other rectangles; which also lies in the range of height/width ratio; now i want to differentiate between the rectangle containing the number plate and the rectangles without the number plate; [actually i am croping the rectangles and storing them in Bitmaps] now i have 2 solutions to solve this but i don't know how to implement them.

i. i can make an assumption that the background of number plate is white(it is not true always but it will work for most of the cases (i am ready for the trafeoffs)); my question is that is there any built-in method in Aforge.Net that can search the white background from a picture; or how can i find that the given picture has white background?? [if a picture has a white background then
it is a number plate else not]

ii. another option is to detect the characters from the image; any image
containing characters [we can assume that there should be atleast 4 character; so we should search in an image that if it has 4 or more than 4 characters then it is a number plate else not] ; so is there any method available in AForge which can be helpful in this case i.e which can search for characters; if not then how can i search the characters through an image...?

PLz reply me early as this is my college project ; and only a little time is left...

regards
usama
 
Share this answer
 
I have found a solution basically using three steps with aForge.Net Framework.

First of all I will serialize the image to clarify the objects using some filters from aForge.Net Framework.

The second one is to identify the place where the license plate is using aForge.Net blobs recognition.

Finally I will get the license plate and apply an OCR to identify the letters.

So, I found it by myself to use on my university project.

Thanks for nothing John Simmons.
 
Share this answer
 
Comments
usama yaseen 30-Dec-10 4:04am    
Hi Marcel ;
i am also doing the same project using AForge.net; but i am not successful yet..

Collapse

The second one is to identify the place where the license plate is using aForge.Net blobs recognition.


if u can please tell me that how have u detected the place where the number plate is; kindly tell me the algo [if u can give me the code of the license plate detection part; that would be great ; if not possible then it's ok] ;

i have used the following approach; may be u can help me in my algo

i have used a simple algo; although it is not very efficient but it will fulfills my requirements. i have calculated height,width and height to width(height/width) ratio of more than 40 car's numberplate; i searched for the rectangles in the image which lie in the range
of height, width and height to width ratio; now with this i am able to detect the number plate for most of the images but the problem is that along with the number plate; i am getting some other rectangles; which also lies in the range of height/width ratio; now i want to differentiate between the rectangle containing the number plate and the rectangles without the number plate; [actually i am croping the rectangles and storing them in Bitmaps] now i have 2 solutions to solve this but i don't know how to implement them.

i. i can make an assumption that the background of number plate is white(it is not true always but it will work for most of the cases (i am ready for the trafeoffs)); my question is that is there any built-in method in Aforge.Net that can search the white background from a picture; or how can i find that the given picture has white background?? [if a picture has a white background then
it is a number plate else not]

ii. another option is to detect the characters from the image; any image
containing characters [we can assume that there should be atleast 4 character; so we should search in an image that if it has 4 or more than 4 characters then it is a number plate else not] ; so is there any method available in AForge which can be helpful in this case i.e which can search for characters; if not then how can i search the characters through an image...?

PLz reply me early as this is my college project ; and only a little time is left...

regards
usama
i think dtk software provides a best solution for that
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900