http://docs.opencv.org/doc/tutorials/features2d/feature_homography/feature_homography.htmlを提供するこのコードを見ました
//-- Localize the object
std::vector<Point2f> obj;
std::vector<Point2f> scene;
for( int i = 0; i < good_matches.size(); i++ )
{
//-- Get the keypoints from the good matches
obj.push_back( keypoints_object[ good_matches[i].queryIdx ].pt );
scene.push_back( keypoints_scene[ good_matches[i].trainIdx ].pt );
}
Mat H = findHomography( obj, scene, CV_RANSAC );
当然、同じ方法で findHomography にデータをロードしたいと思いました。だから私のコードは
std::vector<cv::Point2f> srcPoints();
std::vector<cv::Point2f> dstPoints();
cv::Mat homography = cv::findHomography(srcPoints, dstPoints, CV_RANSAC);
しかし、それは私に与えます
1>c:\main.cpp(65): エラー C2665: 'cv::findHomography': 2 つのオーバーロードのいずれもすべての引数の型を変換できませんでした 1> c:\opencv\build\include\opencv2\calib3d\calib3d. hpp(423): 'cv::Mat cv::findHomography(cv::InputArray,cv::InputArray,int,double,cv::OutputArray)' 1> c:\opencv\build\include\opencv2\ の可能性がありますcalib3d\calib3d.hpp(428): または 'cv::Mat cv::findHomography(cv::InputArray,cv::InputArray,cv::OutputArray,int,double)' 1> 引数リストの一致を試みている間 ' (オーバーロードされた関数、オーバーロードされた関数、int)' 1> 1>ビルドに失敗しました。
ベクトルの代わりに CV::Mat を使用すると機能しますが、サンプルと同じ形式が機能しない理由がわかりません。