0

1番目の)cvCannyと2番目のfindContoursでいくつかの輪郭を抽出した画像があります。私は外部のポイントにのみ興味があるので、さらに分析するいくつかの閉じた輪郭を取得しました。楕円または円を探しています。画像が重なっているため、実際に興味深い輪郭がいくつか得られましたが、楕円に見えないため、アルゴリズムではそれらを破棄します。
たとえば、1つとして検出された2つの重なり合う輪郭間の小さな接続「ブリッジ」に基づいて、これらの輪郭を分割する方法はありますか?

輪郭の例

この例では、右下隅のロッドをカットしたいと思います。
パフォーマンスの問題により、ハフサークル検出はオプションではありません。

ありがとう!

4

1 に答える 1

1

これまでこの種のアルゴリズムを使用したことはありませんが、アイデアは次のとおりです。ブリッジを作成するよりも短いポイント間の最小長 L を定義します。次に、輪郭上の各点について、その点を原点とする長さ L の接線セグメントを作成します。その接線セグメントが2点と交差する場所はどこでも、図形の棒/楕円の接合部のように、輪郭が効果的に「挟まれる」場所があります。これが起こったら、接線セグメント自体になる橋を描きます。

単一のポイントで単一のセグメントを取得し (たとえば、曲線の上部で、左向き)、セグメントを輪郭に沿って移動し、上記の条件を満たしています。

于 2012-11-06T09:37:30.487 に答える