If the area is too small or too large, drop the contour (I chose 100 as limits).Create a blank mask image of the same size, set to all zeros.Invert the image to make masking easier.Threshold the image, and erode it to fill in any small gaps and make the letters more substantial. ![]() Reduce the image to only 8 colours by k-means clustering.Scale the image up, so that the letters are more substantial.One possible algorithm to clean up the images is as follows: Imshow( "morphological operation", src ) Īnd my question is, do you know how to achieve better results? More clear image? Despite having my licence plate worse quality, so that the result could read OCR (for example Tesseract). MorphologyEx(src, src, MORPH_CLOSE, structure_elem) GaussianBlur(src, src, Size(1,1), 1.5, 1.5) ĪdaptiveThreshold(src, src, 255, ADAPTIVE_THRESH_GAUSSIAN_C, CV_THRESH_BINARY, 15, -1) Src = imread(argv, CV_LOAD_IMAGE_COLOR) // Read the file Mat const structure_elem = getStructuringElement( My code is: #include // open cv general include file ![]() I'm trying to somehow improve character recognition for OCR, but my best result is this:result.Īnd even tesseract on this picture does not recognize any character. I try to recognize the characters of license plates using OCR, but my licence plate have worse quality.
0 Comments
Leave a Reply. |