2

matchShapes()関数を使用して、クエリ画像内のオブジェクトを検索したいと思います。

本のモデル画像があるとします。その形状を抽出してから、別の画像内でこの本(その形状)を見つけようとします。

私はたくさんグーグルで検索しましたが、これを達成するためにどのように使用matchShapesするかについての実際の例を見つけることができませんでした。ドキュメントが不足しています。someoenはC++で小さな例を作ることができますか?

どうもありがとう!(SIFT / ORBなどを使用できることはわかっていますが、matchShapes()を使用したいことに注意してください)

4

1 に答える 1

3

ステップ1:本の輪郭を検出し、に保存しvector<Point>ます。

ステップ2:別の画像の輪郭を検出します。

ステップ3:検出された輪郭を繰り返し処理し、ステップ1で検出された形状を別の画像で検出された各輪郭と一致させます。vector<vector<Point> >輪郭を検出しました。それらを繰り返してvector<Point>、ステップ1からモデルを渡しvector<Point>、輪郭からmatchShape()関数に渡します。関数の使い方については、こちらの回答をご覧くださいmatchShape()

別の画像でも、本はモデル画像と同じ形状である必要があることに注意してください。回転、移動、または拡大縮小のみが可能です。

于 2012-07-31T08:26:50.147 に答える