【发布时间】:2015-08-14 20:28:47
【问题描述】:
对于我的项目,我必须使用 OpenCV 保存 .yml 文件。这是.yml文件的结构。
Block stride: [ 8, 8 ]
Cell size: [ 8, 8 ]
nbins: 9
blockhistsize: 36
Level1: 1
blocksperimg1: [ 152, 45 ]
Elements1: 246240
Scale1: 1.
Width1: 1224
Height1: 370
Features1:
- 4.1452873498201370e-02
- 3.7708058953285217e-02
- 5.5512674152851105e-02
------------------------
------------------------
Features2:
- 4.1452873498201370e-02
- 3.7708058953285217e-02
- 5.5512674152851105e-02
------------------------
------------------------
Features3:
- 4.1452873498201370e-02
- 3.7708058953285217e-02
- 5.5512674152851105e-02
------------------------
------------------------
Features4:
- 4.1452873498201370e-02
- 3.7708058953285217e-02
- 5.5512674152851105e-02
------------------------
------------------------
我有大约 10,000 个文件,每个文件的大小约为 60 MB。我必须在 MATLAB 中阅读那些 yml 文件。我使用yamlmatlab 来读取这些文件。
问题
读取一个 yml 文件需要五分钟。由于我有大约 10,000 个文件,我会浪费很多时间。如果有人可以提出替代路线,我将不胜感激。你可以找到一个简单的yml文件here。
【问题讨论】:
-
您特别需要文件中的哪些信息?如果您可以缩小范围,您可以进行一些可能会更快的手动解析。
-
如果你想要一个完整的数据结构,就像你目前从
yamlmatlab得到的那样,你实际上是在要求某人为你编写一个解析器(或重写链接工具),这这不是一项微不足道的任务,似乎有点超出了本网站的范围。 -
10 000 个 60 MB 的文件......这就是你所拥有的数据。您的整体任务似乎很繁重,也许可以尝试询问您已经尝试过的部分代码。
-
我需要读取Features1、Features2、Features3、Features4等,Level1、Level2、Level3、Level4等,Scale1、Scale2、Scale3、Scale4等,Elements1、Elements2、 Elements3、Elements4 等,blocksperimg1、blocksperimg2、blocksperimg3、blocksperimg4 等和blockhistsize,@MZimmerman6
-
我正在写一个你可以做的事情的例子,但我实际上无法读取你的示例文件(保管箱被阻止)所以我必须完全脱离你的例子。我只打算让你以此为基础,然后用它做更多的事情。希望你理解正则表达式:)
标签: matlab opencv file-io yaml