• 基本的数据维持和存储


    Basic data persistence and storage

      在本文中,我们将探索OpenCV中存储和读取我们的数据的函数。在许多应用中,比如校准(calibration)或者机器学习,我们需要处理数据计算,就需要保存结果以备下一个执行阶段重新获取。为此,OpenCV提供了一个XML/YAML保持层(persistence layer)。

    1. 写入文件存储(Write to a file storage)

      要将OpenCV数据或者其它数值数据写入到一个文件中,我们可以使用FileStorage类,位于core模块中,可以使用类似STL中的流操作方式操作FileStorage对象。

     1 // FileStorage usage
     2 #include <opencv2/core.hpp>
     3 using namespace cv;
     4 
     5 #include <iostream>
     6 using namespace std;
     7 
     8 int main(int, char** argv)
     9 {
    10     // create our writter
    11     FileStorage fs("test.yml", FileStorage::WRITE);
    12     // Save an integer
    13     int fps = 5;
    14     fs << "fps" << fps;
    15     // Create some Mat sample
    16     Mat m1 = Mat::eye(2, 3, CV_32F);
    17     Mat m2 = Mat::ones(3, 2, CV_32F);
    18     Mat result = (m1 + 1).mul(m1 + 3);
    19     // write the result
    20     fs << "Result" << result;
    21     // release the file
    22     fs.release();
    23 
    24     FileStorage fsread("test.yml", FileStorage::READ);
    25     Mat r;
    26     fsread["Result"] >> r;
    27     cout << r << endl;
    28     fsread.release();
    29 
    30     return 0;
    31 }

    执行以上程序代码将会生成一个test.yml文件,文件内容如下所示:

    %YAML:1.0
    fps: 5
    Result: !!opencv-matrix
       rows: 2
       cols: 3
       dt: f
       data: [ 8., 3., 3., 3., 8., 3. ]
  • 相关阅读:
    PhpStorm 2019.3 汉化包
    PHP性能监控
    Jsonp post 跨域方案
    解决前后端调用,跨域二次请求Access-Control-Max-Age
    npm安装全局模块之后项目提示找不到的解决
    centos7 安装nodejs 最新版
    基于 ThinkJS 的 WebSocket 通信详解
    php方法注释
    恶意评论过滤插件
    redis与memcached区别
  • 原文地址:https://www.cnblogs.com/xiaomanon/p/5514272.html
Copyright © 2020-2023  润新知