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)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
项目包含小型水果图像目标检测数据集(3分类)(VOC标注格式的xml文件),数据保存按照文件夹保存,可直接用作目标检测数据集,无需额外处理。 数据集介绍:小型水果图像目标检测,可以用于检测水果 数据分为三类:苹果、香蕉、橙子 数据总大小:27MB 数据分为分为训练集和测试集(data--train(test)----images(labels)) 训练集:240张图片和240个标签xml文件组成 测试集:60张图片和60个标签xml文件组成 ***除此外,包含检测类别的json字典文件*** 为了方便查看数据,提供了可视化py文件,随机传入一张图片即可绘制边界框,并且保存在当前目录。脚本无需更改,可以直接运行!
资源推荐
资源详情
资源评论
收起资源包目录
深度学习之目标检测数据集:小型水果图像目标检测数据集(3分类)(VOC标注格式的xml文件) (603个子文件)
apple_84.jpg 485KB
banana_89.jpg 454KB
orange_34.jpg 423KB
orange_81.jpg 373KB
orange_60.jpg 371KB
banana_9.jpg 365KB
banana_13.jpg 362KB
banana_37.jpg 339KB
orange_76.jpg 338KB
apple_68.jpg 320KB
orange_53.jpg 317KB
mixed_12.jpg 316KB
apple_10.jpg 305KB
apple_6.jpg 275KB
banana_85.jpg 270KB
banana_2.jpg 265KB
orange_95.jpg 263KB
apple_39.jpg 249KB
orange_74.jpg 248KB
apple_3.jpg 245KB
mixed_22.jpg 241KB
apple_88.jpg 239KB
orange_80.jpg 231KB
banana_86.jpg 227KB
orange_71.jpg 225KB
orange_63.jpg 223KB
banana_90.jpg 221KB
banana_57.jpg 216KB
banana_8.jpg 216KB
orange_21.jpg 211KB
apple_90.jpg 211KB
apple_24.jpg 202KB
apple_91.jpg 202KB
banana_56.jpg 199KB
orange_16.jpg 198KB
orange_20.jpg 198KB
mixed_5.jpg 196KB
apple_65.jpg 192KB
mixed_14.jpg 191KB
apple_14.jpg 191KB
apple_95.jpg 189KB
banana_41.jpg 186KB
apple_81.jpg 184KB
orange_2.jpg 179KB
banana_55.jpg 173KB
apple_63.jpg 171KB
orange_42.jpg 170KB
apple_19.jpg 170KB
orange_61.jpg 166KB
banana_5.jpg 162KB
apple_7.jpg 161KB
apple_38.jpg 161KB
apple_30.jpg 157KB
apple_47.jpg 156KB
apple_83.jpg 153KB
banana_27.jpg 153KB
orange_36.jpg 149KB
apple_13.jpg 149KB
banana_65.jpg 149KB
apple_46.jpg 147KB
banana_48.jpg 144KB
orange_41.jpg 140KB
orange_7.jpg 139KB
orange_89.jpg 137KB
orange_40.jpg 136KB
orange_82.jpg 134KB
orange_31.jpg 133KB
orange_38.jpg 132KB
apple_71.jpg 130KB
orange_55.jpg 127KB
orange_49.jpg 125KB
orange_56.jpg 123KB
mixed_23.jpg 120KB
apple_59.jpg 119KB
banana_72.jpg 118KB
banana_81.jpg 117KB
orange_27.jpg 114KB
orange_57.jpg 114KB
banana_22.jpg 113KB
banana_26.jpg 113KB
apple_64.jpg 108KB
apple_32.jpg 108KB
apple_56.jpg 107KB
apple_66.jpg 105KB
orange_24.jpg 103KB
banana_60.jpg 101KB
apple_75.jpg 101KB
orange_85.jpg 98KB
banana_4.jpg 93KB
banana_63.jpg 93KB
orange_28.jpg 93KB
mixed_2.jpg 93KB
mixed_17.jpg 91KB
mixed_4.jpg 91KB
orange_17.jpg 91KB
orange_37.jpg 88KB
orange_29.jpg 86KB
orange_9.jpg 85KB
apple_48.jpg 84KB
orange_72.jpg 83KB
共 603 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7
资源评论
听风吹等浪起
- 粉丝: 1w+
- 资源: 1397
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功