opencv读写文件常用函数详解

前面讲了opencv操作文件的一些函数,详见OpenCV文件存储结构函数CvFileStorage与文件存储器节点函数CvFileNode详解,然而文件操作不仅仅只是文件的存储,还有读写操作,opencv封装了完整的文件读写操作函数,我们可以直接使用。在读写文件之前,我们需要一些必要的函数来辅助我们实现需求。比如CvAttrList函数得到属性列表,OpenFileStorage函数打开文件存储器进行读写操作等。

CvAttrList

属性列表

在当前版本的属性列表用来传递额外的参数,在使用cvWrite写入自定义数据对象时。除了对象类型说明(type_id 属性)以外,它不支持 XML 在标签内的属性(注:例如<A name=”test”></A>不支持)。

OpenFileStorage

打开文件存储器读/写数据。

filename
内存中的相关文件的文件名。
memstorage
内存中通常存储临时数据和动态结构,例如 CvSeq 和 CvGraph。如果memstorage 为空,将建立和使用一个暂存器。
flags
读/写选择器。

CV_STORAGE_READ – 内存处于读状态。
CV_STORAGE_WRITE – 内存处于写状态。

函数cvOpenFileStorage打开文件存储器读写数据,之后建立文件或继续使用现有的文件 。文件扩展名决定读文件的类型 : .xml 是 XML的扩展名, .yml 或 .yaml 是 YAML的扩展名。该函数的返回指针指向CvFileStorage结构。

ReleaseFileStorage

释放文件存储单元

fs
双指针指向被关闭的文件存储器。

函数cvReleaseFileStorage 关闭一个相关的文件存储器并释放所有的临时内存。只有在内存的I/O操作完成后才能关闭文件存储器。

参与评论