9

私はいくつかのスキャンされたテキスト画像に取り組んでおり、その画像内のすべての単語を強調表示する必要があります.問題は、余分な空白が周囲にあるサブ画像を見つけることと同等であることを知っています.

OCR は使用できず、各単語に枠線を引くだけで済みます。誰かが OpenCV を使用してそれを行う方法を提案できますか?

しきい値処理とセグメンテーションについて読んでみました。関連する資料を教えてくれる人を探しています。

4

1 に答える 1

21

あなたの画像には複数行のテキストがあると思います。その場合、まずこれらの行を検出する必要があります。

そのためには、まず大津の方法または適応しきい値処理を使用して画像を 2 値化します。

次に、 「水平ヒストグラム」と呼ばれるものを使用できます。ヒストグラムそのもののようなものですが、どこに線があり、どこに空白があるかを示しています。したがって、空白行で画像を分割すると、各行が得られます。以下は、水平ヒストグラムの画像です。

水平ヒストグラム

各行について、水平ヒストグラムを見つけます。その前に、すべての文字がグループ化されるように、膨張と浸食を実行してみてください。次に、各行の連結要素を見つけて、各単語を取得できます。次に境界線を引きます。

以下の画像は、水平ヒストグラムと垂直ヒストグラムの両方を示しています。

水平および垂直ヒストグラム

この SOF が役立つかもしれません:画像を文字セグメントに変換する方法は?

于 2012-10-08T16:42:52.403 に答える