将point2d转换为Mat

时间:2016-07-20 20:37:18

标签: c++ opencv opencv3.1

如何转换矢量< Point2d>到了。

     Mat newImg = Mat(ImagePoints);
     imwrite("E:/softwares/1.8.0.71/bin/newImg.png", newImg); 

这不起作用,因为imWrite()只接受通道1或3或4,图像点是2通道。

我正在使用OpenCV版本3.

1 个答案:

答案 0 :(得分:0)

以下是答案:

不要担心类型转换。在double中使用整数。但这只是为了给出解决方案的要点。

std::vector< cv::Point2d> points;

for(int i =0; i < 10; i++)
{
    points.push_back(cv::Point2d(i,i));
}

cv::Mat_<cv::Point2d> matrix(points);

std::cout<<matrix.at<cv::Point2d>(1);

但是如果你想保存这个Mat,那么使用XML。 Imwrite不会写Mat。