最近、私はロボット工学プロジェクトに携わってきました。私のロボットはその色でオブジェクトを検出できますが、別のオブジェクトには十分ではないことがわかりました。したがって、ロボットがリアルタイムで画像をSURFして、そのテンプレートを使用して定義されるターゲットオブジェクトを見つけてほしいと思います。
残念ながら、テンプレートの要点を画像内の画像と一致させる方法がわかりません。
最近、私はロボット工学プロジェクトに携わってきました。私のロボットはその色でオブジェクトを検出できますが、別のオブジェクトには十分ではないことがわかりました。したがって、ロボットがリアルタイムで画像をSURFして、そのテンプレートを使用して定義されるターゲットオブジェクトを見つけてほしいと思います。
残念ながら、テンプレートの要点を画像内の画像と一致させる方法がわかりません。
OpenCVディレクトリのサンプルディレクトリでSURFを使用する方法を知るための非常に良い例があります:OpenCV / samples / c / find_obj.cpp
SURF記述子を使用する必要があります(245-255行を参照)。
CvSeq *objectKeypoints = 0, *objectDescriptors = 0;
CvSURFParams params = cvSURFParams(500, 1);
cvExtractSURF(object, 0, &objectKeypoints, &objectDescriptors, storage, params);
CvSeqReaderを使用して記述子を読み取る必要があります。
CvSeqReader reader;
cvStartReadSeq(descriptors, &reader, 0);
シーンでも同じことを行い、NN検索で2つの記述子を使用して、それらの間の一致を見つけます。繰り返しになりますが、OpenCVによって提供されるサンプルはあなたに大いに役立つはずです:)