将 point2d 转换为 Mat
Converting point2d to Mat
如何将向量 转换为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 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 不会写垫子。