将目标检测的xml标签中目标绘制在图像中

本文介绍如何使用Python的xml.etree.ElementTree库解析XML文件,提取目标检测坐标,并利用OpenCV在图像上绘制检测框及目标名称。通过find()和findall()方法查找节点,提取<bndbox>中的坐标信息,并使用cv2.rectangle和cv2.putText在图像上绘制。此外,还提及了xml.dom.minidom库作为另一种XML解析选项。
摘要由CSDN通过智能技术生成

用xml.etree.ElementTree库来解析xml文件

1.解析:ET.parse()

2.获取根节点:getroot()

3.找节点用find() 和findall()

4.

   .text 是内容 #本代码用到.text

   .tag 是题目

   .attrib 是属性

5.用cv2绘图

提取出来坐标,然后rectangle(图片,左上角坐标,右下角坐标,框颜色,框线粗细)

把目标名字输出:putTEXT(图片,目标名字,起始坐标,字体,字体大小,字体颜色,粗细)

其他:两个find()定位到<bndbox>节点下,才能去提取xmin等四个值。还有另一个xml解析库,为xml.dom.minidom

没用过,但看起来差不多。效果都一样,熟悉一个就行。

# -*- coding: utf-8 -*-
import xml.etree.ElementTree as ET  
import os,cv2

xml_file='C:/Users/nansbas/Desktop/01_000002_01244-01086_0939-0989.xml'
tree=ET.parse(xml_file)
root=tree.getroot()
imgfile='C:/Users/nansbas/Desktop/01_000002_01244-01086_0939-0989.jpg'
im = cv2.imread(imgfile)
for object in root.findall('object'):
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值