OCR not detecting numbers

18 ビュー (過去 30 日間)
Chris
Chris 2025 年 3 月 26 日
回答済み: Image Analyst 2025 年 3 月 28 日
I'm trying to use OCR to read numbers from different photos. I have pre-processed the images as seen below, and it just won't detect some even though they look very reading. I've put the pre-processed photos below to show which ones are detected and which aren't.
Able to detect:
Not able to detect:
Also not detected:

回答 (1 件)

Image Analyst
Image Analyst 2025 年 3 月 28 日
Maybe it's too big. Try shrinking it down to smaller images:
%--------------------------------------------------
% Read in original RGB image and convert to grayscale.
rgbImage = imread('72.png');
% Convert to gray level
binaryImage = rgbImage(:, :, 1) < 128;
binaryImage = imresize(binaryImage, 0.1);
imshow(binaryImage);
impixelinfo;
axis on
%--------------------------------------------------
% Find the number
txt = ocr(binaryImage, 'CharacterSet', '0123456789', 'LayoutAnalysis','line')
txt =
ocrText with properties: Text: '72...' CharacterBoundingBoxes: [4x4 double] CharacterConfidences: [4x1 single] Words: {'72'} WordBoundingBoxes: [24 11 88 69] WordConfidences: 0.5639 TextLines: {'72'} TextLineBoundingBoxes: [24 11 88 69] TextLineConfidences: 0.5639
fprintf('Detected "%s".\n', txt.Words{1})
Detected "72".

カテゴリ

Help Center および File ExchangeConvert Image Type についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by