首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Opencv - Optimization中加载YML文件

在Opencv - Optimization中加载YML文件
EN

Stack Overflow用户
提问于 2013-02-27 19:08:50
回答 2查看 1.5K关注 0票数 0

我正在加载一个yml文件,它有"160470 * 199“点。在我的机器里花了一分钟多的时间。我怎么才能让它更快呢?

我使用下面的代码加载了一个yml文件。

代码语言:javascript
复制
 Mat sd;
 string Fsd  = "//home//Desktop//YML//sd.yml";
 FileStorage fsDemo1( Fsd, FileStorage::READ);
 fsDemo1["sd"] >> sd;
EN

回答 2

Stack Overflow用户

发布于 2013-02-27 19:20:04

您可以假定在OpenCV的FileStorage类中读取的文件已经针对性能进行了充分的调优。

你更应该担心的是,你真的需要FileStorage的好处吗?使用这种方法的缺点是,将在大文件上运行完整语法的YAML/XML解析器。在我看来,这将比从磁盘实际读取文件所需的时间慢得多。

我的建议是,如果你真的想从磁盘中快速读取并立即使用(不需要解析),我建议你将数据存储在二进制文件中。使用这种文件的好处是,唯一花费的时间是读取文件,而不是解析这些文件。您可以直接从中读取C struct或C++ class

然而,缺点是,如果您确实将数据写入二进制文件,当您迁移到另一台机器(不同的体系结构)时,您可能会遇到一些真正令人恼火的错误,特别是使用字节顺序,甚至可能是可变长度的int类型。但在我看来,这将是罕见的,因为大多数人使用英特尔或英特尔兼容的处理器。

票数 0
EN

Stack Overflow用户

发布于 2017-11-04 22:19:00

在Release mode.It中运行程序将使程序速度提高5倍。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15110542

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档