读取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内参数的小测试文件
上一篇: JDBC Batch的使用