How do I import a table containing numbers in a picture with OCR?

9 views (last 30 days)
I have a picture of a table with numeric data in it. Like this:
example.JPG
How do I import the values with ocr? Is there a better method?
I tried to use ocr, but it's not working properly.
Thank you
  3 Comments
Mattia Tosi
Mattia Tosi on 30 Jan 2020
I will try, but sometimes it's a mix of characters and numbers. How can I capture both? It looks like ocr is not really effective...
Mohammad Sami
Mohammad Sami on 30 Jan 2020
Another option, that might improve the ocr accuracy sometimes is to imresize the input image.

Sign in to comment.

Accepted Answer

Mohammad Sami
Mohammad Sami on 30 Jan 2020
Try resizing the image. It would hopefully improve the accuracy.
a = imread('image.jpeg');
a = imresize(a,2);
txt = ocr(a,'CharacterSet','0123456789.');
Iocr = insertObjectAnnotation(a, 'rectangle', ...
txt.WordBoundingBoxes, ...
txt.WordConfidences);
for i = 1:length(txt.Words)
Iocr = insertText(Iocr,txt.WordBoundingBoxes(i,1:2),txt.Words{i},'AnchorPoint','Center');
end
figure; imshow(Iocr);
  4 Comments
Mattia Tosi
Mattia Tosi on 4 Feb 2020
It doesn't work direcly with the table I have, but playing with all the parameters you mentioned the result is improving.

Sign in to comment.

More Answers (0)

Categories

Find more on Convert Image Type in Help Center and File Exchange

Products


Release

R2017b

Community Treasure Hunt

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

Start Hunting!