Reading seven segment display with OCR command
9 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Kevin Ammann
am 3 Jul. 2019
Kommentiert: Brett Shoelson
am 3 Mär. 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 Kommentar
Brett Shoelson
am 3 Mär. 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
Akzeptierte Antwort
KALYAN ACHARJYA
am 3 Jul. 2019
Bearbeitet: KALYAN ACHARJYA
am 3 Jul. 2019
One Suggestion: connect the disconneted pixels, then apply the OCR
Let me know the result, is it working?
1 Kommentar
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

