Opencv 例程讲解8 ----如何实现Mat以及自定义类型的读写操作

本文介绍了OpenCV中FileStorage类用于XML/YML文件的读写操作,常见于特征和算法参数的保存与加载。通过示例程序(TUTORIAL) file_input_output,展示了如何将数据写入文件并重新读取。文章详细讲解了文件路径的设定、存储模式的选择以及自定义类型的读写方法。
摘要由CSDN通过智能技术生成

   今天学习一下Opencv中一个用处很广泛的功能,xml/yml 格式文件的输入和输出,这在特征,算法参数等数据类型的保存和载入中肯定需要用到,掌握opencv中文件的输入输出类,会使这一个过程十分简单愉快。当然文件的输入输出功能用处很广,有待大家去挖掘。对应的例程是 (TUTORIAL) file_input_output

先来看下程序的运行结果,这里我们设置的xml输出路径为 f:\image_set\test.xml

可以看出,例程先将数据写入到文件中,然后再从文件中读出数据,并打印出来。下面具体看下是怎么操作的。

    { //write
        Mat R = Mat_<uchar>::eye(3, 3),
            T = Mat_<double>::zeros(3, 1);
        MyData m(1);

        FileStorage fs(filename, FileStorage::WRITE);   // 构造一个 FileStorage对象,只提供写操作

        fs << "iterationNr" << 100;                       
        fs << "strings" << "[";                              // text - string sequence    // 用 [ ] 作为字符串的输入开始和结束标记
        fs << "image1.jpg" << "Awesomeness" << "baboon.jpg";
        fs << "]";                                           // close sequence

        fs << "Mapping";                              // text - mapping                     // 用 { }作为map 索引的输入开始和结束标记
        fs << "{" << "One" << 1;
        fs <<        "Two" << 2 << "}";

        fs << "R" << R;                                      // cv::Mat                         // 输出Mat,“R”作为Mat的名称
        fs << "T" << T;

        fs << "MyData" << m;                                // your own data structures    //
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值