2017-09-18 44 views
-3

保存されたものと比較して輪郭を検出する最良の機能は何ですか?今は、テーブルの上に以下ており、それらのいくつかとの間の比を使用するための (予備的な結果が良好である): 幅 -perimeter(アーク長) にわたって矩形の高さを-bounding矩形領域 を-bounding面積円 を-enclosing (ポリゴンエリア式を使用)openCV輪郭を比較する最も良い機能

異なる形状の中で最も明白なものは、比較すると比較的正確です(ratioA - ratioB <スレッショルド)。 PS:ShapeContextDistanceExtractorHausdorffDistanceExtractor:また、2個の形状のコンパレータが含まれているOpenCVの中moduleshapeがあり、スケールと回転

+0

あなたの質問を編集してCODEを追加して説明することができればうれしいです。 – DivyaMaheswaran

+2

世界で一番好き、一般的に好きですか? – ssovukluk

+2

[画像の瞬間](https://en.wikipedia.org/wiki/Image_moment)/胡の不変量は、形の良い記述子を与えることができます。これらのプロパティの派生については、[here](http://homepages.inf.ed.ac.uk/rbf/CVonline/LOCAL_COPIES/OWENS/LECT2/node3.html)を参照してください。異なるフレーム内の複数のオブジェクトをトラッキングしていて、両方のフレーム間で一致する別個のオブジェクトを選択し、残りのオブジェクトラベルをそれらの角度に基づいて割り当てる場合など、特定の形状間の関係(これは関係がある場合)とさらに組み合わせることができます(これは回転とスケール不変である)。 –

答えて

0

で動作するはずです。どちらも引数として2つの等高線しか必要とせず、の相違点として扱うことができる単一の数値(ある空間ではこれらの輪郭の間の距離)を返します。

簡単な方法はcv::matchShapes()です。この関数は、各輪郭に対して不変のHu momentsの2つのベクトルを計算し、これらのベクトルに基づいて相違度を計算します。

関連する問題