ocr wont work on single digit in an image

조회 수: 3 (최근 30일)
Oliver Stilz
Oliver Stilz 2019년 12월 9일
답변: Mahesh Taparia 2019년 12월 13일
Hey,
i have attached an example programm which explains my problem. I read an image that contains serveral digits. If i canalyze the whole image using OCR it works fine. Now when i crop out a single digit it does not anymore.
is there possibilities to give ocr further parameters to for example tell it that the number is close to the size of the whole picture?
example picture i used:
zahlen.bmp
[Files, Path] = uigetfile('*.bmp', 'Select CSV File Measurement for Calibration', 'MultiSelect', 'off');
FileName = strcat(Path, char(Files));
image = imread(FileName);
image = imresize(image, [200 NaN]);
figure()
imshow(image);
rest = ocr(image);
number = char(rest.Words)
[row, col] = size(image);
rect = [col/30*zahl, 0, col/30, row];
im_solo = imcrop(image, rect);
figure();
imshow(im_solo);
rest = ocr(im_solo);
number = char(rest.Words)

답변 (1개)

Mahesh Taparia
Mahesh Taparia 2019년 12월 13일
Hi Oliver,
The single character is not recognized may be due to irregular background or the text is sparse. In this case, if you disable the automatic layout in the ocr command it will work. You can run the following code to recognize a single digit:
results = ocr(im_solo,'TextLayout','Block');
results.Text
For more information, you can refer to the documentation link of ‘ocr’.

카테고리

Help CenterFile Exchange에서 Convert Image Type에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by