from lxml import etree
import cv2
# https://blog.csdn.net/qq_44886601/article/details/135400117
# 读取 xml 文件信息,并返回字典形式
def parse_xml_to_dict(xml):
if len(xml) == 0: # 遍历到底层,直接返回 tag对应的信息
return {xml.tag: xml.text}
result = {}
for child in xml:
child_result = parse_xml_to_dict(child) # 递归遍历标签信息
if child.tag != 'object':
result[child.tag] = child_result[child.tag]
else:
if child.tag not in result: # 因为object可能有多个,所以需要放入列表里
result[child.tag] = []
result[child.tag].append(child_result[child.tag])
return {xml.tag: result}
# xml 标注文件的可视化
def xmlShow(img, xml, save=True):
image = cv2.imread(img)
with open(xml, encoding='gb18030', errors='ignore') as fid: # 防止出现非法字符报错
xml_str = fid.read()
xml = etree.fromstring(xml_str)
data = parse_xml_to_dict(xml)["annotation"] # 读取 xml文件信息
ob = [] # 存放目标信息
for i in data['object']: # 提取检测框
name = str(i['name']) # 检测的目标类别
bbox = i['bndbox']
xmin = int(bbox['xmin'])
ymin = int(bbox['ymin'])
xmax = int(bbox['xmax'])
ymax = int(bbox['ymax'])
tmp = [name, xmin, ymin, xmax, ymax] # 单个检测框
ob.append(tmp)
# 绘制检测框
for name, x1, y1, x2, y2 in ob:
cv2.rectangle(image, (x1, y1), (x2, y2), color=(255, 0, 0), thickness=2) # 绘制矩形框
cv2.putText(image, name, (x1, y1 - 10), fontFace=cv2.FONT_HERSHEY_SIMPLEX,
fontScale=0.5, thickness=1, color=(0, 0, 255))
# 保存图像
if save:
cv2.imwrite('result.png', image)
# # 展示图像
# cv2.imshow('test', image)
# cv2.waitKey()
# cv2.destroyAllWindows()
if __name__ == "__main__":
import os
import random
img_path = './data/train/images/' # 传入图片
image = [os.path.join(img_path, i) for i in os.listdir(img_path)]
r = random.randint(0, len(image) - 1) # 生成随机索引
image_path = image[r]
labels_path = image_path.replace('images', 'labels') # 自动获取对应的 xml 标注文件
labels_path = labels_path.replace('.jpg', '.xml')
xmlShow(img=image_path, xml=labels_path, save=True)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
项目包含:智能小车物品识别、智能购买图像目标检测数据集(VOC标注格式的xml文件),数据保存按照文件夹保存,经测试,可直接用作目标检测数据集,无需额外处理。 图像分辨率为640*480的RGB图片,为单类别的智能小车智能购买数据,对特定的目标进行检测,可实现智能购买 【数据集介绍】工具箱数据,类别:purchase 【数据总大小】27 MB 【数据集详情】data目录下分为两个目录,train为训练数据、test为测试数据,每个目录下各有两个子文件夹。images存放数据图片,labels目录存放标注文件。训练集共710张jpg图片和710个xml解释文件。训练集共177张jpg图片和177个xml解释文件 【json文件】类别的json文件 为了方便查看数据,提供了可视化py文件,随机传入一张图片即可绘制边界框,并且保存在当前目录。脚本无需更改,可以直接运行!
资源推荐
资源详情
资源评论
收起资源包目录
目标检测数据集:智能小车物品识别、智能购买图像目标检测数据集(VOC标注格式的xml文件) (1777个子文件)
2102.jpg 34KB
1150.jpg 33KB
2111.jpg 33KB
1171.jpg 33KB
1233.jpg 33KB
1208.jpg 33KB
1207.jpg 33KB
1267.jpg 33KB
1248.jpg 33KB
2147.jpg 33KB
2140.jpg 33KB
1357.jpg 33KB
1278.jpg 33KB
1295.jpg 33KB
1084.jpg 33KB
2396.jpg 33KB
1083.jpg 33KB
1334.jpg 33KB
1305.jpg 33KB
1127.jpg 33KB
1220.jpg 33KB
1022.jpg 33KB
1193.jpg 33KB
1243.jpg 33KB
1298.jpg 33KB
1270.jpg 33KB
1114.jpg 32KB
2129.jpg 32KB
2166.jpg 32KB
1328.jpg 32KB
1245.jpg 32KB
1231.jpg 32KB
2023.jpg 32KB
2159.jpg 32KB
2122.jpg 32KB
1174.jpg 32KB
2042.jpg 32KB
2335.jpg 32KB
1072.jpg 32KB
1218.jpg 32KB
1001.jpg 32KB
2345.jpg 32KB
1232.jpg 32KB
2375.jpg 32KB
1033.jpg 32KB
2359.jpg 32KB
2000.jpg 32KB
1020.jpg 32KB
2369.jpg 32KB
2193.jpg 32KB
2368.jpg 32KB
2379.jpg 32KB
1350.jpg 32KB
2392.jpg 32KB
1327.jpg 32KB
1054.jpg 32KB
2401.jpg 32KB
2006.jpg 32KB
1276.jpg 32KB
1111.jpg 32KB
1209.jpg 32KB
2221.jpg 32KB
2219.jpg 32KB
1356.jpg 32KB
1239.jpg 32KB
2196.jpg 32KB
2027.jpg 32KB
1272.jpg 32KB
2349.jpg 32KB
1197.jpg 32KB
1147.jpg 32KB
1107.jpg 32KB
1125.jpg 32KB
1012.jpg 32KB
2390.jpg 32KB
2217.jpg 32KB
2248.jpg 32KB
1098.jpg 32KB
1132.jpg 32KB
2261.jpg 32KB
1230.jpg 32KB
2174.jpg 32KB
1340.jpg 32KB
1206.jpg 32KB
1169.jpg 32KB
1152.jpg 32KB
1333.jpg 32KB
1344.jpg 32KB
2402.jpg 32KB
1115.jpg 32KB
2370.jpg 32KB
1224.jpg 32KB
1301.jpg 32KB
1094.jpg 32KB
2355.jpg 32KB
1154.jpg 32KB
2242.jpg 32KB
1292.jpg 32KB
1070.jpg 32KB
2265.jpg 32KB
共 1777 条
- 1
- 2
- 3
- 4
- 5
- 6
- 18
资源评论
听风吹等浪起
- 粉丝: 1w+
- 资源: 1426
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于python+flask+mysql实现的豆瓣电影可视化系统+源代码+文档说明+数据库sql.zip
- 程氏舞曲V4.2程氏舞曲V4.2程氏舞曲V4.2程氏舞曲V4.2
- FPGA读写 AD9708+ AD9280 ADDA实验Verilog逻辑源码Quartus工程文件+文档说明+硬件参考原理图
- 基于CH340C设计USB转TLL串口通信模块PADS 9.5设计硬件(原理图+PCB)文件.zip
- 信号与系统大作业-图像处理 实现了直接滤波法维纳滤波法最小二乘滤波法LR递归法matlab源码.zip
- php-leetcode题解之最小栈.zip
- php-leetcode题解之最长不含重复字符的子字符串.zip
- php-leetcode题解之最长公共前缀.zip
- php-leetcode题解之最小差值.zip
- php-leetcode题解之最小基因变化.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功