0

我必須編寫一個程序,它能夠識別模式,特別是字符。我在c#中實現了反向傳播,現在我想用它來進行模式識別。我還創建了一個表單應用程序並使用了畫筆/圖形,以便用戶可以藉助鼠標編寫某些內容(就像MS Paint中的「鉛筆工具」一樣)。所以我需要一些關於「如何在我的應用程序中實現字符識別方法?」的幫助材料。光學字符識別

幫助的東西在大多與反向傳播和軟件演示網絡。

回答

1

如果你的項目是別的東西,但你想擁有OCR在你的項目,你應該尋找第三方工具做到這一點。但是,如果你的項目是這樣的,你想自己做,讀這樣的回答:

有識別字符的方法有兩種。在線和離線。

在線方式使用筆(或鼠標)輸入數據。離線方式只使用像素。

您的第一步將從其中一個選擇。離線方式沒有筆數據,這是一個有用的功能。但在離線,您可以識別從圖像文件(以油漆創建和保存,甚至掃描)

二字符,你應該預處理的數據(這一步是僅用於離線方式)。你應該去除它的噪音,縮放它,並進行細化。

接下來,你應該提取經過預處理的數據(在線或離線)有用的功能。爲此,您可以閱讀一些關於光學字符識別和特徵提取的文章。關於預處理和特徵提取here有一個很好的幻燈片演示。還有pdf關鍵字和filetype:pdf在谷歌搜索詞的結尾會幫助你!

那麼你應該使用神經網絡或類似的東西來識別的字符。應該提取輸入的功能。

但請記住,這個項目並不容易,可能需要一些時間! (這是我的波斯語項目)

+0

我看不出絕對需要特徵提取。使用backprop網絡,輸入層可能只是每個輸入像素的一個神經元。 – Novak 2012-01-05 22:19:46

+0

@Novak也許是正確的。但是您需要一個非常大且很好的輸入集。因爲即使是一個錯誤的人物或不好的噪音都會造成可怕的訓練。這對位置和大小會很敏感。我建議使用特徵(甚至簡單,如投影直方圖)並從預處理的圖像中提取圖像。因爲它可以提高檢測率... – 2012-01-05 22:33:08

+0

同意。目前尚不清楚原始海報是在尋找表演還是僅僅是自學。 – Novak 2012-01-05 23:15:38