2

基本的な (通常は回転した) 形状を認識する方法は次のとおりです。

  • サークル、
  • 「空」の円、
  • クロス、
  • 空の三角形、

を使用してOpenCVいますか?最も簡単な方法は何ですか?ユーザーが何らかの方法で自分の形状を「定義」できるとよいでしょう (テンプレート イメージをロードするなど)。

認識された各形状をそのタイプ (円、三角形など) とその中心の位置にマップしたいと思います。(可能であればその回転)。

HoughCirclesを使用できます (この場合も回転はありません)。しかし、他の人はどうですか?テンプレート マッチングは回転とスケーリングをサポートしていませんよね...

入力は次のとおりです。

空の三角形、空の円、円

空の三角形、空の円、クロス

4

1 に答える 1

4

通常のテンプレート マッチングは回転ではなく、スケール不変であることは正しいです。OpenCV の を見てくださいmatchShapes。内部的には、 を使用しますHuMomentsfindContours個々のオブジェクトを見つけるために を使用する必要があります。matchShapesこれを行うと、 Circle と Ring を区別できないことに気付くでしょう。これを解決する簡単な方法は、 の階層構造を使用することfindContoursです。Circle の内側に (十分な大きさの) 穴がある場合、それはおそらく Ring です。

于 2013-06-07T00:34:45.430 に答える