Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如何将 vector<Point2d> 转换为 Mat。
Mat newImg = Mat(ImagePoints); imwrite("E:/softwares/1.8.0.71/bin/newImg.png", newImg);
这不起作用,因为 imWrite() 只接受通道 1 或 3 或 4 并且图像点是 2 通道。
我正在使用 OpenCV 版本 3。
这是答案:
不要担心类型转换。在 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。