2009-06-23 78 views
1

我有一個新的項目,它包含在線字符識別(在寫入字符時識別字符)。我的想法是,每個角色都是由一些適合數學模型的筆劃定義的。例如,'A'可以由三個線性筆劃定義; 'O'可以被定義爲單個循環。 使用線性迴歸的原因是因爲不是每個筆畫每次都是完美的線條或曲線。線性迴歸可以用來形成筆畫的「可接受的範圍」。Java中的字符識別

我的問題是:

  1. 有沒有更好/更簡單的方法來做到這一點?

  2. Java是否有一些內置的函數或模塊執行線性迴歸?

  3. 有什麼語言比Java更容易嗎?

+2

看看這裏: http://stackoverflow.com/questions/768664/recommendations-for-handwriting-recognition-libraries-packages-in-java – gubby 2009-06-23 19:22:58

回答

1

其中一種實現方法是構建人工神經網絡並使用相關算法進行訓練。該方法的本質是構建一個1和0的二維矩陣(輸入矩陣)。每個元素都是神經網絡的輸入節點。當我們繪製一個角色時,我們將繪製的元素設置爲1,然後將輸入提供給ANN,並將實際角色作爲輸出。一旦建立了足夠數量的輸入變化並對輸入集運行訓練算法,那麼通過應用上面概述的「線性衝程」方法,您應該能夠獲得更好的精度。

我想你應該能夠找到合適的庫,它可以幫助你建立你的ANN並選擇合適的訓練算法。我不記得我的頭頂。但你可以谷歌周圍看看會發生什麼。乾杯!

+0

我認爲貝葉斯概率可能會更好! ANN應該是90年代的解決方案,但它並沒有顯示出多少希望。當然,它可能會成功。 – Bear 2010-01-06 06:12:30

0

我發現this website有人爲幾種不同的手寫識別模型編寫並提供了他們的代碼。我不確定哪些更容易或更難,但我認爲這會幫助你。我很遺憾不能回答你的其他兩個問題。