私はコンピュータービジョン分野の新人です。
私が使用しようとしている EmguCV (OpenCV の .NET ラッパー) でいくつかのコード例を見つけました。
現在、三角形の交通標識認識に取り組んでおり、cvMatchShapes 関数を使用しています。
この関数は、理想的なケースでは「ゼロ」を返します。これは、形状が同じで、数が
形状が類似している場合はゼロに近い。
問題は、私の場合、関数が論理外の結果を返すことです。関数が三角形と円を比較すると、2 つの三角形を比較して得られた Figure より小さい Figure が返されます。
ここに私が使用する機能と画像があります:
double ratio = CvInvoke.cvMatchShapes(modelSignTraffic, trafficSign, Emgu.CV.CvEnum.CONTOURS_MATCH_TYPE.CV_CONTOURS_MATCH_I3, 0);
modelSignTraffic - テンプレートです。私の場合は -
trafficSign - テンプレートと比較する必要がある形状です。
最初に比較した形状
2 番目に比較した形状 -
最初の形状では比率 0.55 を取得し、2 番目の形状では比率 0.61 を取得します。
なぜこのような非論理的な結果が得られるのか、どうすれば修正できるのかを誰かが説明できれば、とても感謝しています。
前もって感謝します。