Reading seven segment display with OCR command
8 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Kevin Ammann
el 3 de Jul. de 2019
Comentada: Brett Shoelson
el 3 de Mzo. de 2021
I am trying to read the digits off of Images of a seven segment display, like the one below.

b = imread('frame1.jpg'); %image above
imshow(b)
BW1 = imbinarize(rgb2gray(b),0.2);
BW2 = imcomplement(BW1);
figure; imshow(BW2); roi = round(getPosition(imrect));
imshowpair(BW1,BW2,'montage')
ocrResults = ocr(BW2,roi,'CharacterSet','.0123456789','TextLayout','word');
recognizedText = ocrResults.Text;
text(600, 150, recognizedText, 'BackgroundColor', [1 1 1]);
However the ocr command cannot read the digits correclty, as can be seen in the textbox on the processed image below.

Are there any pre-processing steps I should additionaly take?
Do I need to use the ocr command in a different way?
Thanks in advance for any suggestions
1 comentario
Brett Shoelson
el 3 de Mzo. de 2021
Attempts to do this using image morphology are almost certain to fail under certain conditions. Better: download and install a (freely available) 7-segment font, then use the OCR Trainer App to train the character recognition on samples of those digits. You'll get better results!
Brett
Respuesta aceptada
KALYAN ACHARJYA
el 3 de Jul. de 2019
Editada: KALYAN ACHARJYA
el 3 de Jul. de 2019
One Suggestion: connect the disconneted pixels, then apply the OCR
Let me know the result, is it working?
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

