《OpenCV 4计算机视觉项目实战 》 —2.11 基本数据存储

举报
华章计算机 发表于 2019/11/10 11:33:04 2019/11/10
【摘要】 本节书摘来自华章计算机《OpenCV 4计算机视觉项目实战》 一书中第二章,第2.11节,作者[西班牙]大卫·米兰·埃斯克里瓦(David Millán Escrivá)[西班牙]维尼休斯·G.门东萨(Vinícius G. Mendon)。

2.11 基本数据存储

在结束本章之前,我们将探讨OpenCV用来存储和读取数据的函数。在许多应用程序中(例如校准或机器学习),当我们完成大量计算时,需要保存这些结果,以便在后续操作中检索它们。OpenCV为此提供了XML / YAML持久层。

写入FileStorage

要把一些OpenCV或其他数值数据写入文件,可以用FileStorage类,同时要使用流运算符<<操作STL流:

 image.png

image.png

要创建保存数据的文件,只需调用构造函数,并提供包含所需扩展名格式的路径文件名(XML或YAML),以及第二个要写入的参数集:

 image.png

如果要保存数据,只需在第一步给出一个标识符,然后提供想要保存的矩阵或值,通过这种方式来使用流操作符。例如,要保存int变量,只需要编写以下代码行:

 image.png

否则,可以按如下所示写入/保存mat:

 image.png

上述代码的结果是YAML格式:

 image.png

从文件中读取先前保存的文件与save函数非常相似:

 image.png

第一个阶段是通过调用FileStorage构造函数并使用适当的参数、路径和FileStorage::READ来打开一个保存的文件:

 image.png

要读取任何存储的变量,只需使用公共的流运算符>>并使用FileStorage对象和带[]运算符的标识符:

image.png

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。