我有一个包含以下内容的.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结构中。