2011-06-04 68 views
2

我真的需要你的幫助,我絕望。幫助OCR應用程序 - Matlab

我試圖建立一個OCR應用程序,我面對的,我不能獨自解決一些問題。 現在我正在切割圖像並進行一些濾波以減少噪音。 例如,這是從圖像中切後和濾波後的板:

enter image description here

現在因爲該板是在角度和,因爲這仍然有噪聲(如數字9和3的上方),識別過程(使用corr2)給我錯誤的數字。

例如:

enter image description here

你看到的唯一問題是在數字9和3(在左側),其中所述噪聲是令人不安的。

我認爲拉伸圖像,使每一個號碼適合所有方(沒有黑線在頂部),但我找不到任何方法來做到這一點,它會爲每個圖像的工作。

編輯:這是來自CORR2功能的結果,我用紅色標註的數字9和3 enter image description here

,請給我一個想法或工作方案的結果...

任何幫助將不勝感激。

+1

只是一個提示,卷積不是特別堅固的或有效的這個問題的方法。您應該研究機器學習主題,如神經網絡或支持向量機。很多在這裏的相關信息的:http://stackoverflow.com/questions/850717/what-are-some-popular-ocr-algorithms – so12311 2011-06-04 19:08:09

+0

考慮模糊訓練圖像(假設第二行是你的訓練模板),從而使*數字筆劃的黑暗*和*厚度*與您的輸入類似。至於第一個數字(9錯誤識別爲1),你確定它的相關性是正的嗎?對於這個特定的輸入,你能列出它與所有模板的相關性(從0到9),以便我們看到它被誤認爲有多接近?最後,你也可以嘗試[線性判別分析](http:// en。wikipedia.org/wiki/Linear_discriminant_analysis)或Eigenface,這是一個更簡單的起點。 – rwong 2011-06-04 20:35:12

+0

@rwong我已經更新了這個問題,謝謝。 – 2011-06-05 08:55:40

回答

1

您可以預先過程中,你在前面的問題張貼的圖像:

enter image description here

的東西,如:(在數學代碼)

Dilation[ 
    DeleteSmallComponents[ 
     Pruning[ 
      [email protected] 
       Binarize[ 
        ColorSeparate[ 
         [email protected], "HSB"][[3]], 
       .92], 
     10], 
    30], 
3] 

結果:

enter image description here

現在你řOCR應該通過沒有太多的麻煩,像這樣的:

enter image description here

編輯

一步一步的過程發佈in your other question