当前位置:  开发笔记 > 编程语言 > 正文

如何将vector <cv :: Point2d>转换为vector <cv :: Point>?

如何解决《如何将vector<cv::Point2d>转换为vector<cv::Point>?》经验,为你挑选了1个好方法。



1> Miki..:

你可以使用向量范围构造函数完全按照那里描述的那样做:

#include 
#include 
using namespace cv;
using namespace std;

int main()
{
    vector vd{ { 1.1, 2.2 }, { 3.3, 4.4 }, {5.5, 6.6} };
    vector v(vd.begin(), vd.end());

    // Print for debug
    copy(vd.begin(), vd.end(), ostream_iterator(cout, " "));
    cout << endl;
    copy(v.begin(), v.end(), ostream_iterator(cout, " "));

    return 0;
}

这将工作,因为你可以建立一个PointPoint2d有:

template template inline Point_<_Tp>::operator Point_<_Tp2>() const
{ return Point_<_Tp2>(saturate_cast<_Tp2>(x), saturate_cast<_Tp2>(y)); }

推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有