把中间变量或者结果保存在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进代码用于数组初始化)
原文链接:https://www.f2er.com/xml/297550.html