2015-06-22 112 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自動獲取到如果您的圖像像發佈的圖像一樣黑白,則圍繞角色的投資回報率。