The OCR function works different between two similar images

3 views (last 30 days)
Hello there.
I am attaching a quite simple two similar images. They both contain the same text. Why MATLAB recognizes one correctly but not the other?
I am trying this code,
ocrResults = ocr(~im2bw(imread('test1.jpg')),'TextLayout','Block')
ocrResults = ocr(~im2bw(imread('test2.jpg')),'TextLayout','Block')
Best, Ahmad

Answers (2)

Walter Roberson
Walter Roberson on 24 Jul 2022
You should not be trusting that im2bw will isolate the text when you have multiple background colors. im2bw chooses the threshold automatically and might well decide to threshold between the two different backgrounds.
  1 Comment
Ahmad Gad
Ahmad Gad on 25 Jul 2022
Thanks Walter for the answer.
I think in this current example, they both work regardless if the im2bw function is included or not. However, does this function has alternative? I want to optimize the code if possible.
Thanks!

Sign in to comment.


Image Analyst
Image Analyst on 25 Jul 2022
It's stated in the OCR documentation that the OCR is not reliable if the characters have less than 20 lines of data, which yours do not. Use a higher resolution image.

Categories

Find more on Language Support in Help Center and File Exchange

Tags

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!