【OpenCV】OpenCV实战从入门到精通之 -- 输入输出XML和YAML文件详解

1、XML和YAML文件简介

XML文件是一种元标记语言,即开发者可以根据自身需要定义自己的标记。它是一种语义和结构语言,描述了文档的语义和结构

YAML以数据为中心,是一个可读性高,用来表达资料序列的格式。.yml和.yaml为YAML文件的后缀名。

YAML试图用一种比XML更敏捷的方式来完成XML所完成的任务。


2、FileStorage类操作文件

一般使用如下过程来写入或者读取数据到XML或YAML文件中

(1)实例化一个FileStorage类的对象,用默认带参数的构造函数完成初始化,或者用FileStorage::open()成员函数辅助初始化

(2)使用流操作符<<进行文件写入操作,或者>>进行文件读取操作

(3)使用FileStorage::release()函数析构掉FileStorage类对象,同时关闭文件


下边对2中三个步骤进行示例讲解

【第一步】XML、YAML文件的打开

(1)准备文件写操作

FileStorage是OpenCV中XML和YAML文件的存储类,封装了所有相关的信息。是OpenCV从文件中读取数据向文件中写入数据时必须要使用的一个类。

构造函数为FileStorage::FIleStorage,有两个重载:

FIleStorage::FileStorage()
FIleStorage::FileStorage(const string& source, int flags, const string& encoding=string())

对于第一种不带参数的构造函数,可以使用成员函数FileStorage::open进行数据写操作:

FileStorage fs;
fs.open("abc.xml", FileStorage::WRITE);

对于第二种带参数的构造函数,进行写操作:

fs.open("abc.xml", FileStorage::WRITE);

(2)准备文件读操作

采用FileStorage::READ标识符进行读操作:

第一种方式:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值