opencv“矢量迭代器不兼容”

时间:2011-06-24 09:10:16

标签: c++ c visual-c++ opencv

我正在使用opencv 2.2和VC ++(2008)来跟踪一个对象,而在程序' vector iterators incompatible '中使用goodFeaturesToTrack会发生错误

vector<Point2f> points;
goodFeaturesToTrack(mat,points,10, 0.01, 10, Mat(), 3, 0, 0.04);

有没有解决这个问题?

1 个答案:

答案 0 :(得分:0)

请尝试以下方法。

std::vector<cv::Point2f> points;
cv::Mat pointmat(points);
cv::Mat tempmat = Mat(mat.rows,mat.cols, cv::CV_32FC1);
goodFeaturesToTrack(mat,pointmat, tempmat,10, 0.01, 10, Mat(), 3, 0, 0.04);

goodFeaturesToTrack根据documentation获取额外的tempimage参数。它的前3个参数是CvArr类型,std::vector<cv::Point2f>不是,因此std::vector迭代器错误消息不同。