OpenCV保存成XML(FileStorage)和CSV(重载<<运算符)文件

本文介绍了如何使用OpenCV的FileStorage类保存和读取XML文件,以及如何保存和读取CSV文件。对于XML,重点讲解了保存矩阵数据时的标签使用及读取时的标签指定。而对于CSV,展示了使用format函数格式化数据并用ofstream对象写入文件的方法,以及利用OpenCV的ml模块TrainData类读取CSV数据的技巧。
摘要由CSDN通过智能技术生成

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
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值