Automatic Number Plate Recognition using OCR

12 views (last 30 days)
i am doing a thesis on 'Automatic Number Plate Recognition using OCR' . i have used matlab for image precessing. Binary image is generated after grayscaling the main number plate image. Trained tesserect to recongnise Bangla(the official language of Bangladesh) characters , using "Serak tesseract Trainer V0.4" , "jTessBoxEditor" and "VietOCR.NET-3.5" . OCR recognises characters when the binary image is pretty noise free and clear , but not all the images are that much noise free and clear.
What should be my approach now for more efficient precess ? what i need to do next ??
Code in matlab
% Read image into a gpuArray
close all
BW = imread('1.jpg'); %Read image from graphics file
figure, imshow(BW); %Create texture image
BW1 = rgb2gray(BW);
figure, imshow(BW1);
level = graythresh(BW1);
BW11=im2bw(BW1, level);
figure, imshow(BW11);
image that is 100% recognised by tesseract.

Answers (1)

Image Analyst
Image Analyst on 18 Jan 2015
Edited: Image Analyst on 18 Jan 2015
Well I'd guess there is a lot more you can do. No university is going to grant a Ph.D. based on 9 lines of MATLAB code. Obviously the code needs to send the binary image into your OCR tesseract program.
Then there is tons of stuff you can do to make this a turnkey system. For example here in the US police cars have "plate hunter" systems that automatically scan license plates of cars that the police cruiser passes by and pop up an alert on the police car's computer when a "wanted" car has been found. Do you have anything like that yet? Of course for a Ph.D. you can't just replicate the commercial systems already out there - you have to improve upon them. So I'd recommend a discussion with your advisor to see what is expected of you.
  2 Comments
Orup Ovilashi
Orup Ovilashi on 18 Jan 2015
Thanks for quick response sir. i am an undergraduate student . how to combine all this discrete works ? how can i send the image to VIETOCR, read the output and show that in a MATLAB figure ? Or should i do it manually like use tesseract by CLI command and read the notepad output file ?
what can i do for more clear image using image processing ? i havent done number plate localization yet . Would pattern matching be a good solution instead of using tersseract ?
Image Analyst
Image Analyst on 18 Jan 2015
OK, for an undergraduate perhaps it's enough just to make up a script that works for a few images. See the FAQ for code on how to batch process image files. http://matlab.wikia.com/wiki/FAQ#How_can_I_process_a_sequence_of_files.3F. Then past your binarization code to the inside of the loop.
Then, inside the loop you have to send your binary image to your tesseract OCR function. You have said you "Trained tesserect to recongnise Bangla" so all you have to do is to have it operate on the binary image that you create inside the loop.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!