10

エッジに沿って曲線を検索するターゲット画像と、曲線を含むテンプレート画像があります。私が達成する必要があるのは、ターゲット画像内のテンプレート画像の曲線の最適な一致を見つけ、スコアに基づいて、一致があるかどうかを調べることです。これには、カーブの回転とサイズ変更も含まれます。ターゲット画像は、Canny Edge 検出器の出力であると簡単に処理できます。

OpenCV を使用して (Python または Processing/Java を使用するか、必要な機能へのアクセスが制限されている場合は C を使用して) 実用的かつ効率的にすることを検討していますが、関数 (またはそれらの組み合わせ) で、このジョブを実行するために使用できます。私は OpenCV のドキュメントを読んでいて、最初は Contours でこの仕事ができると思っていましたが、開いた曲線をエッジの一部に一致させる必要がある私の場合とは対照的に、すべての例は閉じた形状を示しています。

OpenCVを使用するか、提案する既知のコードまたはアルゴリズムを使用してこれを行う方法はありますか?

問題を説明するためのいくつかの画像を次に示します。

検索するカーブを含むテンプレート イメージ

テンプレート曲線を検索し、そのエッジに一致させる入力画像。 これは、未処理の入力画像ではなく、Canny Edge 検出器の出力であるエッジ画像の場合もあります。

結果の一致 - 回転とサイズ変更を含む

4

1 に答える 1

2

私の最初の考えはGeneralized Hough Transformでした。しかし、私はそのための良い実装を知りません。

最初にキャニー エッジ イメージで SIFT または SURF を試します。これは通常、1 次元の輪郭ではなく 2 次元の領域を見つけるために使用されますが、輪郭の周囲の最小境界ボックスを取得し、それを検索パターンとして使用すると、機能するはずです。

OpenCV にはそのための実装があります: Features2D + 既知のオブジェクトを見つけるためのホモグラフィ

問題は、良好なエッジ イメージを取得することである可能性があります。背面の黒い形状が気を散らす可能性があります。

この Stackoverflow の回答も参照してください: 画像処理: 「コカ・コーラ缶」認識のためのアルゴリズムの改善

于 2012-07-31T19:17:27.733 に答える