zoukankan      html  css  js  c++  java
  • 2 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 <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

  • 相关阅读:
    二叉树逻辑结构重点
    循环链表
    数据结构 单链表
    《深入理解计算机系统》第7章:重定位PC相对引用的理解
    一个关于空指针的思考
    简单解决python安装中的Unable to find vcvarsall.bat问题
    解决python本地离线安装requests问题
    使用共享内存和信号量模拟实现多进程会话
    使用openssl演练数字签名
    简单了解C语言内嵌汇编
  • 原文地址:https://www.cnblogs.com/kekeoutlook/p/13090767.html
Copyright © 2011-2022 走看看