OpenCV "vector iterators incompatible"

opencv "vector iterators incompatible"

本文关键字:incompatible iterators vector OpenCV      更新时间:2023-10-16

我使用opencv 2.2和VC++(2008)来跟踪对象,而在程序中使用goodFeaturesToTrack"矢量迭代器不兼容"错误发生

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

这方面有什么工作吗?

请尝试以下操作。

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根据文档中的说明,增加了一个tempimage参数。它的前3个参数是CvArr类型,而std::vector<cv::Point2f>不是,因此std::vector迭代器错误消息不同。

相关文章: