2

I trained a haar cascade which is able to detect speed limit traffic signs. Now I am wondering how to recognize numbers from the images detected. Here are few examples of detected images: enter image description here enter image description here

I've got an algorithm which can recognize numbers only in case if they are in the center of the detected image. But this condition is not always the case. OCR is also not very accurate...

Which specific algorithm provides numbers recognition with a high accuracy in less than 2s in my case?

Azik
  • 63
  • 1
  • 6
  • 1
    Those characters seem extremely easy to segment out (binarize and find the connected components). Then normalize them (deskew and resize) before direct comparison (SAD). It might be advantageous to recognize the digit pairs as a whole. –  Apr 04 '16 at 12:57
  • Thank you for your comment :) Could you give a hint on how to find connected components and direct comparison? I'm newbie to image processing – Azik Apr 04 '16 at 14:30
  • Do it the same way you managed to train a haar cascade. –  Apr 04 '16 at 14:33
  • Do you mean generating haar cascade to detect pair of digits like 10, 20, 30 etc.? – Azik Apr 04 '16 at 15:09
  • No I mean you were able to do that, so using other tools shouldn't be a problem to you. –  Apr 04 '16 at 15:13

1 Answers1

1

There is an EmguCV tutorial for recognising number plates. It comes with the complete source code. You can find what you need.

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

There is also a video, you can see the number detection working in the top left corner of the form:

https://www.youtube.com/watch?v=5ZmdtKzlNbA

  • As mentioned in the answer, the detection does identify the numbers contained within the number plate. If you watch the video of the application in action you will see the numbers being displayed in the top left corner of the window. You can download the source code for the project used in the video from the link provided below it. The basics are, segment the license plate location through shape detection and colour thresholding. Segment each possible letter through region segmentation. Run an OCR engine to recognise letters. – Ash Hamilton Apr 07 '16 at 01:56