OpenCV中.xml .yml .yaml 文件的读写操作(矩阵读写)。
发布时间:2020-12-16 09:18:15 所属栏目:百科 来源:网络整理
导读:1. 这是做相机标定的结果.xml文件 保存部分。 #include "opencv2/opencv.hpp"pusing namespace cv;/pFileStorage camcalibrate("camcalibrate.xml",FileStorage::WRITE);cv::Mat cameraMatrix= cameraCalibrator.getCameraMatrix();cv::Mat DistCoeffsMatrix
1. 这是做相机标定的结果.xml文件 保存部分。
#include "opencv2/opencv.hpp" <p>using namespace cv; </p>FileStorage camcalibrate("camcalibrate.xml",FileStorage::WRITE); cv::Mat cameraMatrix= cameraCalibrator.getCameraMatrix(); cv::Mat DistCoeffsMatrix= cameraCalibrator.getDistCoeffs(); camcalibrate<< "cameraMatrix" << cameraMatrix << "distCoeffs" << DistCoeffsMatrix.t(); camcalibrate.release(); cv::waitKey();
文件结果如下: <?xml version="1.0"?> <opencv_storage> <read>"camera calibration by kint at 05.02.03"</read> <imageCount>12</imageCount> <cameraMatrix type_id="opencv-matrix"> <rows>3</rows> <cols>3</cols> <dt>d</dt> <data> 5.0519443370436323e+02 0. 3.2083884160474554e+02 0. 5.0285768483869174e+02 2.3831697216475899e+02 0. 0. 1.</data></cameraMatrix> <distCoeffs type_id="opencv-matrix"> <rows>5</rows> <cols>1</cols> <dt>d</dt> <data> -9.2216292456289706e-02 6.5000304572855785e-02 -6.3123997885573520e-04 3.2158869444328347e-03 5.7265487017375147e-02</data></distCoeffs> </opencv_storage> 2. 过程中出现的问题: 1)FileStorage的作用域: using namespace cv; 或 cv::FileStorage camcalibrate("camcalibrate.xml",cv::FileStorage::WRITE);//后一个容易忽略 2) FileStorage 的camcalibrate.xml 文件中未保存有数据。 camcalibrate.release(); 要有。。 //cv::waitKey(); 在之前先关闭 FileStorage 文件 详细参考: http://docs.opencv.org/modules/core/doc/xml_yaml_persistence.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |