如何在OpenCv中读取不同格式的XML文件?

时间:2014-01-19 03:53:22

标签: c++ xml opencv

有谁知道如何在OpenCV中阅读Pascal VOC注释?注释的格式(xml文件)与Opencv格式不同。 注释的示例如下所示。如您所见,它不是以<opencv_storage>开头,而<filename>2007_000027.jpg</filename>之类的值需要更改为<filename>"2007_000027.jpg"</filename>才能避免阅读崩溃。任何帮助都表示赞赏,并提前感谢。

<annotation>
<folder>VOC2009</folder>
<filename>2007_000027.jpg</filename>
<source>
    <database>The VOC2007 Database</database>
    <annotation>PASCAL VOC2007</annotation>
    <image>flickr</image>
</source>
<size>
    <width>486</width>
    <height>500</height>
    <depth>3</depth>
</size>
<segmented>0</segmented>
<object>
    <name>person</name>
    <pose>Unspecified</pose>
    <truncated>0</truncated>
    <difficult>0</difficult>
    <bndbox>
        <xmin>174</xmin>
        <ymin>101</ymin>
        <xmax>349</xmax>
        <ymax>351</ymax>
    </bndbox>
    <part>
        <name>head</name>
        <bndbox>
            <xmin>169</xmin>
            <ymin>104</ymin>
            <xmax>209</xmax>
            <ymax>146</ymax>
        </bndbox>
    </part>
    <part>
        <name>hand</name>
        <bndbox>
            <xmin>278</xmin>
            <ymin>210</ymin>
            <xmax>297</xmax>
            <ymax>233</ymax>
        </bndbox>
    </part>
    <part>
        <name>foot</name>
        <bndbox>
            <xmin>273</xmin>
            <ymin>333</ymin>
            <xmax>297</xmax>
            <ymax>354</ymax>
        </bndbox>
    </part>
    <part>
        <name>foot</name>
        <bndbox>
            <xmin>319</xmin>
            <ymin>307</ymin>
            <xmax>340</xmax>
            <ymax>326</ymax>
        </bndbox>
    </part>
</object>

1 个答案:

答案 0 :(得分:0)

就像在PASCAL VOC Challange的官方site中所说,也有一些MATLAB工具。

  

PASCAL VOC项目:

     

为对象类识别提供标准化图像数据集   提供一组用于访问数据集的通用工具   注释

在PASCAL VOC Devkit的帮助下,您可以通过多种方式访问​​和操作各种类型的注释数据,包括将它们读入特殊注释记录,将它们写为.txt和.xml文件,使用它们进行培训和测试,以及等等。

以下是来自不同挑战的一些可用的devkits;