OpenCV中的XML解析器

问题描述 投票:3回答:2

我有一个文件 locations.xml 其中包含图像文件名,以及在相应图像上绘制的矩形的位置。XML节点结构如下。

<?xml version="1.0" encoding="ISO-8859-1"?>
<tagset>
  <image>
    <imageName>ryoungt_05.08.2002/aPICT0034.JPG</imageName>
    <resolution x="960" y="1280" />
    <taggedRectangles>
      <taggedRectangle x="196.0" y="901.0" width="111.0" height="67.0" offset="0.0" rotation="0.0" userName="admin" />
      <taggedRectangle x="116.0" y="896.0" width="59.0" height="69.0" offset="0.0" rotation="0.0" userName="admin" />
      <taggedRectangle x="442.0" y="794.0" width="424.0" height="67.0" offset="0.0" rotation="0.0" userName="admin" />
      <taggedRectangle x="212.0" y="793.0" width="200.0" height="66.0" offset="0.0" rotation="0.0" userName="admin" />
      <taggedRectangle x="99.0" y="560.0" width="302.0" height="76.0" offset="0.0" rotation="0.0" userName="admin" />
      <taggedRectangle x="107.0" y="791.0" width="84.0" height="66.0" offset="0.0" rotation="0.0" userName="admin" />
      <taggedRectangle x="512.0" y="682.0" width="366.0" height="74.0" offset="0.0" rotation="0.0" userName="admin" />
      <taggedRectangle x="104.0" y="678.0" width="376.0" height="73.0" offset="0.0" rotation="0.0" userName="admin" />
    </taggedRectangles>
  </image>

我需要打开这个文件 OpenCV 并读取它,这样对于XML文件中的每一个图像文件名,都会在一个窗口中打开相应的图像,并在相应的图像上绘制矩形。

基本上我需要打开这些文件,看到的矩形与同一张图片上绘制的矩形用文字检测算法进行匹配。但就是处理XML文件的时候,让我犯了难。希望能得到任何帮助。

c xml opencv xml-parsing
2个回答
2
投票

OpenCV是OpenCV,XML是XML。一个与另一个没有太大关系。

请看这个帖子

最好的C++开放式XML解析器是什么?

我个人用的是 pugixml 我很满意


0
投票

OpenCV某种序列化工具 支持XML、YAML和JSON文件格式。

你可以直接将XML反序列化为OpenCV对象。请看一下这个例子 此处.

但这只有在双方都参与OpenCV时才有用。XML解析器需要 <opencv_storage> 标签。

© www.soinside.com 2019 - 2024. All rights reserved.