質問: 画像から直線を検出する方法としてハフ変換などがありますが、ライブラリを見る限り 「一定の太さ以上の線のみ抽出する」といった指定方法が見当たりません。 線の太さを考慮した直線検出の手法またはライブラリをご存知の方がいらっしゃいましたら、教えていただけると幸いです。 言語と現在使用しているライブラリは以下のとおりです。 <言語> Java (Androidアプリ) <ライブラリ> OpenCV 2.4.10 【補足】 対象画像は文字とその他オブジェクトが混在した白黒画像で、最終的には文字のみを抽出することが目的です。 文字以外のオブジェクトが非常にやっかいで、英字のoと図形の○のように、文字との見分けがつきにくいノイズとなっています。 強いて言えば、「文字は他よりも太い線で描かれている」という特徴があるため、今回の質問に至りました。 文字抽出の処理自体はtesseract-ocrに任せるつもりですが、対象画像は ・文字の位置がバラバラ ・縦書きと横書きが混在 ・数種類のフォントサイズが混在 と非常に面倒くさいもので、そのままOCRを行ってもまともな結果が得られません。 そのため、OCR前に 1画像から文字と思われるオブジェクトのみ抽出 2大きさを基準にオブジェクトを整列(文章のような横書き形式) という前処理を施したいと考えています。
回答: OpenCVの膨張・収縮処理を行い、直線検出をする前に細い線を潰してしまうという方法があります。