opencv操作XML
保存数据
1图片
2字符串
3小数
4矩阵
(代码注销了图片)
//https://blog.csdn.net/sunzhao1000/article/details/80590217?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase #include <opencv2opencv.hpp> #include <iostream> using namespace cv; using namespace std; string Xml_path = "config.xml"; void Pint_result(Mat result) { // 输出数据内容 for (int row = 0; row < result.rows; row++) { cout << endl; for (int col = 0; col < result.cols; col++) { cout << result.at<float>(row, col) << " "; } } cout << endl; } int Read() { //2读取数据 FileStorage fs_read(Xml_path, FileStorage::READ); if (!fs_read.isOpened()) return 0; //2-0读取图片 //Mat imageread; //fs_read["sensor0"] >> imageread; //imwrite("图片结果.jpg", imageread); //2-1读取矩阵 Mat result; fs_read["sensor1"] >> result; Pint_result(result); //2-2读取一个字符串 string sensor2; fs_read["sensor2"] >> sensor2; cout << sensor2 << endl; //2-3读取一个小数 float sensor3; fs_read["sensor3"] >> sensor3; cout << sensor3 << endl; fs_read.release(); } int Write() { string Xml_path = "config.xml"; //1写入数据 FileStorage fs(Xml_path, FileStorage::WRITE);//先清空在写入 //FileStorage fs(Xml_path, FileStorage::APPEND);//不清空直接最后追加 if (!fs.isOpened()) return 0; //1-0写入一张图片 //Mat image = imread("dd.jpg"); //fs << "sensor0" << image; //1-1写入一个矩阵 Mat Matrix = (Mat_<float>(2, 3) << 1456, 0.751, 320, 1005.6, 12.345, 10); fs << "sensor1" << Matrix; //1-2写入一个字符串 string msg = "sasa-这是一个测试"; fs << "sensor2" << msg; //1-3写入一个小数 float value = 16.66; fs << "sensor3" << value; //关闭保存 fs.release(); } int main() { Write(); Read(); system("pause"); return 0; }
第二个参考
https://www.cnblogs.com/kekeoutlook/p/11918887.html
参考
https://blog.csdn.net/sunzhao1000/article/details/80590217?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-2.nonecase