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 <opencv2\opencv.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
浙公网安备 33010602011771号