欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

读取ymal文件

程序员文章站 2022-05-28 17:49:23
...

FileStorage是OpenCV中XML和YAML文件的存储类,封装了所有相关的信息。它是OpenCV从文件中读数据或向文件中写数据时必须要使用的一个类。
可以通过实例化成对象后,用来作为参数配置文件供多个源代码文件进行读取。
ymal 用作参数文件,写文件时可建立新文件,读文件时该文件必须要存在;同时一定要指定清楚读、写(WRITE\READ)

//写入数据
#include "opencv2/opencv.hpp"//在头文件中需要加入opencv的头文件
using namespace cv;
int main() 
{ FileStorage fs("test.ymal",FileStorage::WRITE) ;//这是默认带参的FileStorage初始化
//FileStorage fs;//无参初始化
//fs.open("test.ymal",FileStorage::WRITE);
fs<<"iterationNr"<<100;//向文件中写入,iterationNr 100
Mat R=Mat_<uchar>::eye(3,3); 
 fs<<"R"<<R;//必须是双引号
 fs<<"camera_fx"<<10;
 fs.release();  //文件关闭,也可以选择不添加
 cout<<"finish"<<endl;
 return 0;
 }
//读取数据
#include "opencv2/opencv.hpp"//在头文件中需要加入opencv的头文件
using namespace cv;
int main() 
{
   int a;
   FileStorage fs("test.ymal",FileStorage::READ) ;
   a=(int)fs["camera_fx"];//读取文件信息,(int)类型转换,和a的声明对应
   //语法:文件名[key]获得对应的value
   cout<<a;
   return 0;
   }

参考opencv3 毛星云著
#后面写一个源文件读取config内参数的小测试文件

相关标签: slam14讲