OPENCV读取双精度yaml读取垫子



我正在尝试使用OPENCV网站上可用的教程从YAML文件中读取数据。我正在使用建议的">>"操作员。

cv::Mat R;
cv::FileStorage fs;
fs.open(filename, cv::FileStorage::READ);
R >> fs["matrix"];

它基本上是有效的,但我希望矩阵以双重精度而不是浮点精度。将矩阵R键入为双矩阵无法完成工作。实现这一目标的正确方法是什么。

将图像加载为" double Precision" ,aka of Type CV_64F,图像也需要存储为CV_64F

如果将图像保存为"单个精度" ,aka of Type CV_32F,则可以将其加载为CV_32F,然后使用:

将其转换为CV_64F
R.convertTo(R, CV_64F);

您可以检查已保存的矩阵打开YML文件的格式,并检查字段dt。对于CV_32F格式,它将具有f,对于CV_64F格式,它将具有d

最新更新