加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

【OpenCV】OpenCv读取xml/yml相关问题

发布时间:2020-12-16 06:08:02 所属栏目:百科 来源:网络整理
导读:转自stackoverflow As an example,if you have a yml file like this one,that I'll call demo.yml %YAML:1.0 Variable1: !!opencv-matrix rows: 4 cols: 5 dt: f data: [ -1.60522782e-03,-5.93489595e-03,2.92204670e-03,1.14785777e-02,-1.57432575e-02,-

转自stackoverflow

As an example,if you have aymlfile like this one,that I'll calldemo.yml

%YAML:1.0
    Variable1: !!opencv-matrix
       rows: 4
       cols: 5
       dt: f
       data: [ -1.60522782e-03,-5.93489595e-03,2.92204670e-03,1.14785777e-02,-1.57432575e-02,-2.17529312e-02,4.05947529e-02,6.56594411e-02,1.24527821e-02,3.19751091e-02,5.41692637e-02,4.04683389e-02,2.59191263e-03,1.15112308e-03,1.11024221e-02,4.03668173e-03,-3.19138430e-02,-9.40114353e-03,4.93452176e-02,5.73473945e-02 ]
    Variable2: !!opencv-matrix
       rows: 7
       cols: 2
       dt: f
       data: [ -2.17529312e-02,5.73473945e-02,1.15112308e-03 ]

Then,you can use OpenCV FileStorage class to load the variables contained on this demo.yml file as:

#include <iostream>
#include <string>

#include <cv.h>
#include <highgui.h>

using namespace cv;
using namespace std;

int main (int argc,char * const argv[])
{   
    Mat var1;
    Mat var2;

    string demoFile  = "demo.yml";

    FileStorage fsDemo( demoFile,FileStorage::READ);
    fsDemo["Variable1"] >> var1;
    fsDemo["Variable2"] >> var2;

    cout << "Print the contents of var1:" << endl;
    cout << var1 << endl << endl;

    cout << "Print the contents of var2:" << endl;
    cout << var2 << endl;

    fsDemo.release();
    return 0;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读