Normalize car plate for OCR Opencv C++

asked 2015-02-05 21:07:01 -0500

seidju gravatar image

updated 2015-02-05 23:36:47 -0500

I'm doing some simple OCR car plate recognition system. I'm using HaarCascades to find car plate, and next i need to normalize this plate, to put it into my OCR module. I'm using floodfill to find main contours of a car plate, and then i perform Hough transform, to find upper and lower boarders of a car plate:



Here's a part of code, where i perform Hough transform^

HoughLinesP(canny_img, lines, 1, CV_PI/180, 80, 80, 30 );

    for ( size_t i = 0; i < lines.size(); i++ ) {  
        line (output, Point(lines[i][0], lines[i][3]), Point(lines[i][4], lines[i][5]), Scalar(0,0,255), 1, 8 );

Now i need to cut and rotate this picture along this two lines. How can i do this? i understand that i need to use point Point(lines[i][0])..Point(linesi), but what i should do with them?

So basically, i need to get something like that:

1) Image, that i got using HaarCascades

enter image description here

2) After some transformation i need to get something like this:

enter image description here

So at the first step i need to cut only upper and lower boarders.

edit retag flag offensive close merge delete


Hello! Did you find the answer to this question? I also do not know how to turn the number plate. If there are any solutions you can share?

noiro gravatar imagenoiro ( 2017-03-27 22:28:12 -0500 )edit