OpenCV std :: vector< cv :: Point2f>到cv :: Mat

时间:2011-11-10 16:38:53

标签: c++ opencv

我正在OpenCV中开发一个应用程序,在 Windows 上,以下代码有效,并且编译/工作:

/* Calculate the transformation points */
std::vector<cv::Point2f> img1;
std::vector<cv::Point2f> img2;
for( int i = 0; i < good_matches.size(); i++ ) {
    img1.push_back( keypoints_imageOne[ good_matches[i].queryIdx ].pt );
    img2.push_back( keypoints_imageTwo[ good_matches[i].trainIdx ].pt );
}

/* Generate the homogonous matrix from the transformation points */
cv::Mat H = cv::findHomography(img1, img2, CV_RANSAC);

但是,当我切换到 Mac Linux 框时,我收到错误消息,说明参数没有函数原型(因为函数原型需要cv::Mat取代std::vector< cv::Point2f >

所以我的问题是,我应该如何/应该从std::vector < cv::Point2f >投射到cv::Mat或者我应该怎么做呢?

1 个答案:

答案 0 :(得分:5)

您似乎在Linux上有旧版本的OpenCV。我认为使用向量作为openCV函数输入的可能性被添加到2.3版本中。

所以,快乐的更新!