XML文件(使用FileStorage类)
使用OpenCV时不仅要保存影像结果,往往也需要保存中间的矩阵结果,而OpenCV的imwrite函数只支持CV8U类型的数据(使用OpenCV保存其他类型Mat的时候,程序不会报错,但是无法生成结果文件),因此会给工作带来很多不便。OpenCV在2.0以后的版本中提供了FileStorage类,供用户直接使用,保存为XML/YAML文件。
保存XML
保存示例如下:
Mat mat = Mat::eye(Size(12,12), CV_8UC1);
FileStorage fs("f:\\vocabulary.xml", FileStorage::WRITE);
fs << "vocabulary" << mat;
fs.release();
得到结果文件如下所示:
<?xml version="1.0"?>
<opencv_storage>
<vocabulary type_id="opencv-matrix">
<rows>12</

本文介绍了如何使用OpenCV的FileStorage类保存和读取XML文件,以及如何保存和读取CSV文件。对于XML,重点讲解了保存矩阵数据时的标签使用及读取时的标签指定。而对于CSV,展示了使用format函数格式化数据并用ofstream对象写入文件的方法,以及利用OpenCV的ml模块TrainData类读取CSV数据的技巧。
最低0.47元/天 解锁文章
928





