OCR function does not recognize number 8

Hello,
I do have a Problem with the ocr Function of Matlab.
It does a very poor job, particulary in recognizing the number 8.
untitled.bmp
This the i am giving into the ocr function, however, the ocr funktion does return 6 or 9 or 5 more often, than it recognizes an 8.
I added some pictures in the attached zip archive if somebody wants to have a go.
This is the code i am using:
image=rgb2gray(img_rgb(leftedge:rigthedge,upperedge:loweredge);
OcrObjekt=ocr(image,'CaracterSet','0123456789.','Textlayout','Word');
result=strtrim(OcrObjekt.Words{1});
Thank you for your answers!

댓글 수: 2

KALYAN ACHARJYA
KALYAN ACHARJYA 2019년 9월 4일
편집: KALYAN ACHARJYA 2019년 9월 4일
May work?
Do some sort of preprocessing on images before applying the OCR.
I did try a lot of different techniques for preprocessing, but none of them gave acceptable results.

댓글을 달려면 로그인하십시오.

답변 (1개)

Devineni Aslesha
Devineni Aslesha 2019년 9월 10일

0 개 추천

While passing the image data to ocr function, no need to convert the image from RGB to gray as ocr function converts truecolor or grayscale input images to a binary image, before the recognition process using Otsu’s thresholding technique.
Use the below code for reference.
I = imread('Image8.png');
txt = ocr(I,'CharacterSet','0123456789.','Textlayout','Word');
txt.Text
Here, Image8 is the image provided in the question. It is showing the correct result.
Doc Link:

카테고리

도움말 센터File Exchange에서 Convert Image Type에 대해 자세히 알아보기

제품

릴리스

R2019a

질문:

2019년 9월 4일

답변:

2019년 9월 10일

Community Treasure Hunt

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

Start Hunting!

Translated by