在openCV中读取XML文件

时间:2014-12-23 08:10:24

标签: c++ xml opencv

我有一个包含以下内容的.xml文件:

<annotation>
    <filename>action0005.jpg</filename>
    <originalfile>26467307_0b0731a09b.jpg</originalfile>
    <folder>Willow-actions</folder>
    <source>
        <annotation>Willow-actions</annotation>
        <database>Willow-actions</database>
        <image>flickr</image>
        <flickrid>26467307</flickrid>
    </source>
    <segmented>0</segmented>
    <size>
        <width>400</width>
        <height>266</height>
        <depth>3</depth>
    </size>
    <object>
        <name>person</name>
        <bndbox>
            <xmin>49</xmin>
            <ymin>3</ymin>
            <xmax>272</xmax>
            <ymax>266</ymax>
        </bndbox>
        <pose>Frontal</pose>
        <difficult>0</difficult>
        <truncated>1</truncated>
        <occluded>1</occluded>
    </object>
</annotation>

我的问题是,我如何只读取和存储&lt;中的xmin,ymin,xmax和ymax值。 bndbox&gt; &LT; / bndbox&gt; ? 从OpenCV documentation,我可能必须使用FileNodeIterator?或者有一种简单的方法可以做到这一点吗?

简单地做:

 Mat bndBox;

    FileStorage fs("action0773.jpg", FileStorage::READ);
    fs["bndbox"] >> bndBox;

    cout << bndBox << endl;

不会将值49,3,272和266存储在Mat结构中。

0 个答案:

没有答案