让代码更简单

opencv读写文件常用函数详解

重要:本文最后更新于2019-03-03 10:02:20,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

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

CvAttrList

属性列表

复制
typedef struct CvAttrList
{
    const char** attr; /* NULL-指向数组对(attribute_name,attribute_value) 的空指针 */
    struct CvAttrList* next; /* 指向下一个属性块的指针 */
}
CvAttrList;

/* 初始化构造函数CvAttrList */
inline CvAttrList cvAttrList( const char** attr=NULL, CvAttrList* next=NULL );

/* 返回值为属性值,找不到适合的属性则返回值为0(NULL)*/
const char* cvAttrValue( const CvAttrList* attr, const char* attr_name );

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

OpenFileStorage

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

复制
CvFileStorage* cvOpenFileStorage( const char* filename, CvMemStorage* memstorage, int flags );
filename
内存中的相关文件的文件名。
memstorage
内存中通常存储临时数据和动态结构,例如 CvSeq 和 CvGraph。如果memstorage 为空,将建立和使用一个暂存器。
flags
读/写选择器。

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

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

ReleaseFileStorage

释放文件存储单元

复制
void  cvReleaseFileStorage( CvFileStorage** fs );
fs
双指针指向被关闭的文件存储器。

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

感觉很棒!可以赞赏支持我哟~

0 打赏

评论 (5)

登录后评论
可以学习下
第一次听说,度娘了一下,跨平台计算机视觉库
是的,机器视觉库
看代码,c语言的
是的,这个视觉库支持很多平台。
QQ咨询 邮件咨询 狗哥推荐