OpenCVを使用して、入力ビデオストリームの形状(十字)を検出しようとしています。現在、かなりうまく機能するクロスのバイナリイメージを取得するためにしきい値を設定しています。残念ながら、抽出されたブロブがクロスであるかどうかを判断するための私のアルゴリズムは、あまりうまく機能しません。下の画像でわかるように、特定の視点ですべてのコーナーが検出されるわけではありません。
とを使用findContours()
しapproxPolyDP()
て、輪郭の近似値を取得しています。この近似曲線で12個のコーナー/頂点を検出している場合、ブロブはクロスであると見なされます。
この問題を解決するためのより良い方法はありますか?SIFTについて考えましたが、アルゴリズムはリアルタイムで実行する必要があり、SIFTはリアルタイムにはあまり適していないことを読みました。