• opencv- FileStorage数据的读取与保存


    支持读写XML, YAML, JSON 格式文件,后缀名为.xml , .yml , .yaml , .json

    保存数据

        //cv::FileStorage(const string& source, int flags, const string& encoding=string());
        //创建方式一
        //cv::FileStorage fs("D:\bb\tt.yml", cv::FileStorage::WRITE);//创建FileStorage实例
        /*
        参数1:存储或读取数据的文件名(字符串)
        参数2:操作模式,包括:
                FileStorage::READ 打开文件进行读操作
                FileStorage::WRITE 打开文件进行写操作
                FileStorage::APPEND打开文件进行附加操作
                FileStorage::MEMORY 从source读数据,或向内部缓存写入数据(由FileStorage::release返回)
        参数3:encoding – 文件编码方式。目前不支持UTF-16 XML 编码,应使用 8-bit 编码
    
        */
    
        //创建方式二
        cv::FileStorage fs;
        fs.open("D:\bb\tt.yml", cv::FileStorage::WRITE);
    
        
    
        //保存数值
        int imageWidth = 5;
        int imageHeight = 10;
        fs << "imageWidth" << imageWidth;
        fs << "imageHeight" << imageHeight;
    
        //保存矩阵
        cv::Mat m1 = cv::Mat::eye(3, 3, CV_8U);
        fs << "m1" << m1;
    
        bool b = fs.isOpened(); //文件是否打开
        //ture – 如果对象关联了当前文件;false – 其他情况
        std::cerr << b << std::endl;
    
        fs.release();

    读取数据 

        cv::FileStorage fs;
        fs.open("D:\bb\tt.yml", cv::FileStorage::READ);
        
        //读取普通数据
        int width;
        int height;
        fs["imageWidth"] >> width;//读取映射名为imageWidth的数据赋值给width
        fs["imageHeight"] >> height;
        std::cout << "width readed = " << width << std::endl;
        std::cout << "height readed = " << height << std::endl;
    
        //读取矩阵
        cv::Mat resultMatRead;
        fs["m1"] >> resultMatRead;//读取映射名为m1的矩阵赋值给resultMatRead  
        std::cerr << resultMatRead << std::endl;
        
        fs.release();

      

  • 相关阅读:
    Java基础学习(五) String类
    Java基础学习(四) java8线程
    Java基础学习(三) IO
    Java基础学习(二) 集合
    Java基础学习(一) 基本数据类型和引用数据类型
    枚举类常见漏洞解决
    数据校验
    postman如何传递token进行接口测试
    Spring Cloud-OpenFegin
    SpringCloud-Eureka
  • 原文地址:https://www.cnblogs.com/liming19680104/p/15486681.html
Copyright © 2020-2023  润新知