【学习OpenCV】xml的读写

本文介绍了如何利用OpenCV中的classFileStorage类将中间变量或结果保存为XML文件,便于后续观察或调用。文中提供了具体的代码示例,包括如何导出与导入Mat类型的数据,并对比了XML和YAML文件的不同之处。

把中间变量或者结果保存在xml里面,便于观察或者在别的代码里调用。

CV有xml接口,可以直接把CV里面的数据结构写进xml,非常方便。用到的是

class FileStorage

具体介绍:http://docs.opencv.org/modules/core/doc/xml_yaml_persistence.html

里面有例程


简单的例子:

导出数据

Mat lut;
... //lut赋值
FileStorage fs("lut.xml", FileStorage::WRITE);
fs<<"lut"<<lut;

导入数据

	FileStorage fs("lut.xml", FileStorage::READ);
	fs["lut"]>>lut;

 从数组导出数据

FileStorage fs("lut.yml", FileStorage::WRITE);
fs << "lut" << "[:";
for(int jj=0;jj<65536;jj++)
{
fs<<lut.at<data_type>(jj);
}
fs << "]";
fs.release();


注意:

xml的读和写均需要耗费时间,如果数据不是很庞大,或者必须通过xml作为载体传数据,则无需采用该方式。

xml的数组元素之间用空格分隔,而yml的数组元素则是用逗号分隔(可以直接copy进代码用于数组初始化)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值