2

クラスの 1 つの OCR プログラムに取り組んでおり、文字を分類するためにテキスト内の円形の閉じた領域を見つけようとしています。単語はすでにスケルトン化されています。たとえば、この画像では: http://i.imgur.com/VLHJp.jpg

円形の O または E の半円の位置を見つけたいと思います。ピクセルを配列に変換してから、すべての白いピクセルをループして閉じたパスを見つけようとしましたが、これはうまくいきませんでした. ただし、これを正しく実装していない可能性があります。他の解決策はありますか?前もって感謝します。

編集:

残念ながら、大学のクラス用に独自のプログラムを開発する必要があるため、Tesseract やその他の OCR プログラムを使用することはできません。私はスケルトン化などの多くのタスクを実行するために AForge ライブラリを使用しており、そこで円検出または形状検出クラスを使用したいと考えていましたが、これらの形状は鈍すぎてそれを操作できません。

4

1 に答える 1

1

閉じた領域を見つける方法の 1 つは、フラッド フィル アルゴリズムを使用することです。画像の端にあるピクセル (例: 0,0) が閉じた領域にあると仮定すると、そこから始まり、あふれ出します。次に、そのフラッド内のすべてのピクセルを削除できます。

画像内の他のピクセル (境界ピクセルのセットの一部ではない) を処理し、フラッドを実行します。これらのフラッドは「囲まれている」ため、必要に応じて画像の端に達すると、それらを排除できます。各フラッドは適切な数のピクセルを取り込む必要があるため、このアルゴリズムはピクセルを非常に迅速に除去します。

あなたの場合、ノイズを除外するために最小領域 (ピクセル数) を設定する必要があることをお勧めします。

于 2012-11-15T22:20:49.097 に答える