• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
MKT-porter
博客园    首页    新随笔    联系   管理    订阅  订阅
配置文件读取(2-1)OpenCV的FileStorage类的数据存取xml和图片

 

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

posted on 2020-06-11 04:15  MKT-porter  阅读(266)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3