【问题标题】:OCR image processingOCR 图像处理
【发布时间】:2015-09-07 20:19:10
【问题描述】:

我正在尝试使用 MATLAB 的 OCR 进行字符识别。这就是我正在做的-

I=imread('ocr.jpg');
imshow(I);title('Original Image');
results = ocr(I);
word = results.Text

这是图片ocr.jpg

但这是我得到的输出- word = 基本上它无法识别字符F。 这是我关注的链接- http://in.mathworks.com/help/vision/examples/recognize-text-using-optical-character-recognition-ocr.html

【问题讨论】:

  • 你读过这篇文章了吗? What Went Wrong? 调整“TextLayout”参数没有帮助。要了解 OCR 继续失败的原因,您必须调查在 ocr 中执行的初始二值化步骤。您可以使用 graythresh 来检查这个初始二值化步骤,因为 ocr 和 graythresh 都使用 Otsu 的方法进行图像二值化。

标签: matlab image-processing ocr matlab-cvst


【解决方案1】:

由于图像仅包含单个字符,并且文本未采用典型的页面格式(双列、单列等),您必须将“TextLayout”参数设置为“Word”,并提供输入 ROI:

>> r = ocr(img,[91 89 22 37],'TextLayout','Word')

r = 

  ocrText with properties:

                      Text: 'F…'
    CharacterBoundingBoxes: [3x4 double]
      CharacterConfidences: [3x1 single]
                     Words: {'F'}
         WordBoundingBoxes: [94 97 16 21]
           WordConfidences: 0.9428

我使用 IMRECT 手动获取“F”周围的 ROI,但如果您的图像像您发布的那样全是黑白的,您可以使用 REGIONPROPS 或 vision.BlobAnalysis 自动获取角色周围的 ROI。

【讨论】:

    猜你喜欢
    • 2016-03-10
    • 2010-11-10
    • 2010-11-17
    • 1970-01-01
    • 1970-01-01
    • 2019-01-12
    • 2014-10-07
    • 2018-09-22
    • 2011-05-10
    相关资源
    最近更新 更多