Opencv学习(6)——FileStorage类
·
FileStorage类将各种OpenCV数据结构的数据存储为XML 或 YAML格式。同时,也可以将其他类型的数值数据存储为这两种格式。
构造函数
FileStorage类的构造函数为:
cv::FileStorage(const string& source, int flags, const string& encoding=string());
参数:
-
source –存储或读取数据的文件名(字符串),其扩展名(.xml 或 .yml/.yaml)决定文件格式。
-
flags – 操作模式,包括:
- FileStorage::READ 打开文件进行读操作
- FileStorage::WRITE 打开文件进行写操作
- FileStorage::APPEND打开文件进行附加操作
- FileStorage::MEMORY 从source读数据,或向内部缓存写入数据(由FileStorage::release返回)
encoding – 文件编码方式。目前不支持UTF-16 XML 编码,应使用 8-bit 编码。
写数据operator <<
向filestorage中写入数据
template<typename_Tp> FileStorage& operator<<(FileStorage& fs, const _Tp& value)
template<typename_Tp> FileStorage& operator<<(FileStorage& fs, const vector<_Tp>& vec)
//参数:
// fs – 已经打开的用于写数据的file storage对象
// value – 待写入fs 的数据.
// vec – 待写入fs 的向量值
打开文件:FileStorage::open
boolFileStorage::open(const string& filename, int flags, const string&encoding=string())
//参数:
//filename – 待打开的文件名,其扩展名(.xml 或 .yml/.yaml) 决定文件格式(XML 或 YAML)
//flags – 操作模式。见构造函数
//encoding – 文件编码方式。
检查文件是否已经打开:FileStorage::isOpened
boolFileStorage::isOpened()
存储或读取操作完成后,需要关闭文件并释放缓存:FileStorage::release
void FileStorage::release()
更多推荐


所有评论(0)