私は2Dの幾何学的形状が含まれている画像内のすべての輪郭を検出しますが、テキストのように見える何かを剥ぎたいです。
私たTesseractを介してテキスト領域を検出し、続いてそれらのテキスト領域を削除しようとしました。 OCR認識が良好な画像では、これがうまく動作するため、テキスト領域がかなりの割合で認識され、認識されたテキストの輪郭が削除されます。しかし、ほとんどの画像では、テキストがうまく認識されないので、画像から無関係なテキストの輪郭を取り除くことはできません。
私の質問は、どのように私は2Dの "幾何学的な"輪郭からテキストのような輪郭を区別できますか?
を組み合わせることができます。残念ながら、これは動作しません。なぜなら、私は入れ子レベルを知らないからです。私は外の矩形(これは私も離れて最適化する必要があります)を作成する例の隣接矩形を持っており、テキストは任意の入れ子の深さに現れることができます。編集:私はまた面積のサイズを比較することについて考えました - しかし、私はetxtも任意のサイズであることができるので、より洗練された何かを願っています。 – benjist
おそらく2つの方法を組み合わせたものでしょうか? RETR_TREEを使用し、外接矩形の面積の差がxパーセントより大きい大きな輪郭の中の(2つ以上の)小さな輪郭のグループを探しますか?私は、アイデアを捨てるだけで、うんざりします。私はOCRでテキストを認識しようとするのは、テキストの内容を気にせず、形状の一部ではないものを除外したいからだと思います。テキストは常に特定の色、または限定された色のセットですか?たぶん、別の色で囲まれた黒または白のピクセルのグループを探しますか? –
または、最初に画像にガウスぼかしを適用しますか?あなたがそれを十分にぼかしてしまえば、 'findCountours()'がそれを見つけられないくらいぼやけてしまうかもしれません。ちょっと別のアイデア... –