openCV を使用して、よりシンプルな OCR エンジンを作成しようとしています。この画像があります: https://dl.dropbox.com/u/63179/opencv/test-image.png
可能なすべての文字を画像として保存し、入力画像でこの画像を検出しようとしました。
ここから、コードを特定する必要があります。私は matchTemplate と FAST 検出を試みています。両方とも失敗しているようです (または、より可能性が高い: 私は何か間違ったことをしています)。
matchTemplate メソッドを使用すると、Sobel を使用して入力画像と参照画像の両方のエッジを見つけました。これは機能する結果を提供しますが、精度は十分ではありません。
FAST メソッドを使用すると、cvExtractSURF メソッドから興味深い説明が得られないようです。
この種のコードを読めるようにするための最良の方法に関する推奨事項はありますか?
更新 1 (2012-03-20)
私はいくつかの進歩を遂げました。文字の境界四角形を見つけようとしていますが、マトリックスフォントが私を殺しています。以下のサンプルを参照してください。
私のフォント: https://dl.dropbox.com/u/63179/opencv/IMG_0873.PNG
記入したフォント: https://dl.dropbox.com/u/63179/opencv/IMG_0875.PNG
その他のフォント: https://dl.dropbox.com/u/63179/opencv/IMG_0874.PNG
サンプルに見られるように、あまり複雑でないフォントの境界四角形を見つけました。フォントのドット間のスペースを埋めることができれば、それも機能します。opencvでこれを達成する方法はありますか? 各文字の境界ボックスを見つけることができれば、文字を認識するのがはるかに簡単になります。
何か案は?
更新 2 (2013-03-21)
わかりました、バウンディング ボックスを見つけることができました。画像を参照してください: https://dl.dropbox.com/u/63179/opencv/IMG_0891.PNG
ここからどこへ行けばいいのかわからない。matchTemplate テンプレートを使用しようとしましたが、この場合は適切なオプションではないと思いますか? より大きな画像で完全一致を検索する場合は、その方が良いと思いますか?
サーフを使用しようとしましたが、境界ボックスごとに cvExtractSURF で記述子を抽出しようとすると、記述子が 0 になりました...何かアイデアはありますか?
参照画像に対して境界ボックスを一致させるには、どの方法を使用するのが最も適切でしょうか?