2015-06-22 141 views
3

我想使用MATLAB的OCR字符recognition.This就是我doing-OCR图像处理

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

这是图像ocr.jpg enter image description here

但是,这是我的输出得到 - word = 基本上它不能识别字符F。 这就是我依循 http://in.mathworks.com/help/vision/examples/recognize-text-using-optical-character-recognition-ocr.html

+1

你看过这篇文章吗? '什么错了?' 调整'TextLayout'参数没有帮助。为了理解为什么OCR继续失败,您必须研究在ocr内执行的初始二值化步骤。您可以使用graythresh来检查此初始二值化步骤,因为ocr和graythresh都使用Otsu的图像二值化方法。 – Henrik

回答

3

的链接,因为图像只包含一个字符和文本不是在一个典型的页面格式设置(双柱,单柱,等等),你必须设置在“TextLayout的”参数“字”,并提供输入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”的投资回报率,但你可以使用REGIONPROPS或vision.BlobAnalysis自动获取到如果您的图像像发布的图像一样黑白,则围绕角色的投资回报率。