【问题标题】:opencv "vector iterators incompatible"opencv“向量迭代器不兼容”
【发布时间】:2011-06-24 09:10:15
【问题描述】:

我正在使用 opencv 2.2 和 VC++(2008) 跟踪对象,同时在程序中使用 goodFeaturesToTrack 'vector iterators incompatible' 出现错误

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

有没有办法解决这个问题?

【问题讨论】:

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


    【解决方案1】:

    请尝试以下方法。

    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&lt;cv::Point2f&gt; 不是,因此 std::vector 迭代器错误消息的差异。

    【讨论】:

      猜你喜欢
      • 2012-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-20
      • 2012-04-17
      相关资源
      最近更新 更多