17

私はウェブ上の画像で数字を認識するためのリソースを探していました。そのトピックに関する多くのリソースを提供する多くのリンクを見つけました。しかし、残念ながら、それは助けるよりも混乱を招きます。どこから始めればよいのかわかりません。

邪魔されていない(キャプチャなどがない)5つの数字が含まれている画像があります。数字は白地に黒で、標準フォントで書かれています。

私の最初のステップは、数字を分けることでした。私が現在使用しているアルゴリズムは非常に単純で、列が完全に白であり、したがってスペースであるかどうかをチェックするだけです。次に、各文字をトリミングして、周囲に白い境界線がないようにします。これは非常にうまく機能します。

しかし今、私は実際の数の認識に固執しています。正しいものを推測する最良の方法がわかりません。フォントと直接比較するのは良い考えではないと思います。数字が少しだけ異なると、それ以上機能しなくなるからです。

誰かがこれがどのように行われるかについてのヒントを教えてもらえますか?

質問は関係ありませんが、これをC#またはJavaで実装します。その仕事をするライブラリをいくつか見つけましたが、何かを学ぶために自分で実装したいと思います。

4

1 に答える 1

14

TesseractなどのオープンソースOCRエンジンの使用を検討してみませんか?

http://code.google.com/p/tesseract-ocr/

TesseractのC#ラッパー

http://www.pixel-technology.com/freeware/tessnet2/

Tesseract用のJavaラッパー

http://sourceforge.net/projects/tessocrinjava/

サードパーティのライブラリを自分で実装することを検討しないかもしれませんが、サードパーティのツールを統合するだけでも膨大な量の作業が必要になります。また、単純に見えるもの(5番と6番を認識する)は非常に複雑である場合が多いことにも注意してください。何千行もの複雑なコードについて話しています。少なくとも、tesseractのソースコードを見ると、サードパーティのライブラリを活用したいという正当な理由が得られます。

関連するアルゴリズムに関するいくつかのアイデアを提供する別のSOの質問があります:https ://stackoverflow.com/questions/850717/what-are-some-popular-ocr-algorithms

于 2010-03-09T19:26:35.600 に答える