如何转换矢量<Point2d>到Mat.
Mat newImg = Mat(ImagePoints);
imwrite("E:/softwares/1.8.0.71/bin/newImg.png", newImg);
这不起作用,因为imWrite()只接受通道1、3或4,并且图像点是2通道。
我使用的是OpenCV版本3。
答案如下:
别担心打字。使用双精度整数。但这只是给出解决方案的要点。
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.