使用opencv使用type_id opencv-image读取xml文件

时间:2014-10-17 09:00:12

标签: opencv

嘿,我在使用type_id" opencv-image"阅读xml文件时尝试了很多搜索,我在这里看的是" opencv-matrix"并且所有可用的帮助对我来说都是无用的。 请帮我从xml文件中读取图像矩阵。

我在这里粘贴了我的xml文件的上半部分。

<?xml version="1.0"?>
<opencv_storage>
<depthImg190 type_id="opencv-image">
<width>320</width>
<height>240</height>
<origin>top-left</origin>
<layout>interleaved</layout>
<dt>w</dt>
<data>
0 0 0 0 27120 27384 27120 27120 27384 27120 27120 27120 27120 27384
27384 27664 27664 27944 27944 27664 27664 27944 27944 27944 28224
27944 27944 28224 28224 28224 28224 28520 28816 29120 29120 29120
29120 29120 29120 29120 29432 29744 30072 30072 29744 29744 30072
30072 30072 30400 30400 30736 30736 31080 31080 31080 31440 31440
31440 31440 31800 31800 31800 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 27120 27120 27120 27120 27384 27384 27384 27384 27384 27384
</depthImg190>
</opencv_storage>

我使用过代码

FileStorage f;
Mat m;
f.open("temp.xml", FileStorage::READ);
f["depthImg190"] >> m;
f.release();

但我正面临一个异常&#34; Opencv错误:错误的论点&lt;未知的数组类型&gt;在cv :: read,file ........ \ opencv \ modules \ core \ persistence.cpp,第5535行&#34;。

任何帮助都是适当的

1 个答案:

答案 0 :(得分:2)

实际上您可以使用一些文档:http://docs.opencv.org/modules/core/doc/xml_yaml_persistence.html

在任何情况下,您的问题的答案都很简单:

FileStorage fs("file.xml", FileStorage::READ);
Mat image;

fs["depthImg190"] >> image;

(...)

fs.release();

它应该有用!