from lxml import etree
import cv2
# 读取 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(float(bbox['xmin']))
ymin = int(float(bbox['ymin']))
xmax = int(float(bbox['xmax']))
ymax = int(float(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文件,已经做了训练集和测试集划分),数据保存按照文件夹保存,经测试,可直接用作目标检测数据集,无需额外处理。 图像分辨率为800*800的RGB图片,数据集为管道焊接缝缺陷检测检测数据集 【数据集介绍】管道焊接缝隙缺陷图像数据,2类别:good、bad 【数据总大小】106MB 【数据集详情】data目录下分为两个目录,train为训练数据、test为测试数据,每个目录下各有两个子文件夹。images存放数据图片,labels目录存放标注文件。训练集共908张图片和908个xml解释文件。训练集共226张图片和226个xml解释文件 【json文件】2类别的json字典文件 为了方便查看数据,提供了可视化py文件,随机传入一张图片即可绘制边界框,并且保存在当前目录。脚本无需更改,可以直接运行!
资源推荐
资源详情
资源评论
收起资源包目录
目标检测数据集:管道焊接缝缺陷检测检测数据集(VOC标注格式的xml文件,已经做了训练集和测试集划分) (2000个子文件)
IMG%20(779).jpg 149KB
IMG%20(778).jpg 144KB
IMG%20(1027).jpg 140KB
IMG%20(1).jpg 139KB
IMG%20(768).jpg 138KB
IMG%20(1026).jpg 136KB
IMG%20(732).jpg 136KB
IMG%20(777).jpg 135KB
IMG%20(1099).jpg 132KB
IMG%20(1130).jpg 132KB
IMG%20(736).jpg 132KB
IMG%20(842).jpg 132KB
IMG%20(776).jpg 132KB
IMG%20(731).jpg 132KB
IMG%20(735).jpg 131KB
IMG%20(1129).jpg 130KB
IMG%20(902).jpg 130KB
IMG%20(916).jpg 130KB
IMG%20(10).jpg 130KB
IMG%20(2).jpg 130KB
IMG%20(887).jpg 129KB
IMG%20(900).jpg 129KB
IMG%20(1091).jpg 129KB
IMG%20(721).jpg 129KB
IMG%20(976).jpg 129KB
IMG%20(3).jpg 128KB
IMG%20(657).jpg 128KB
IMG%20(1133).jpg 128KB
IMG%20(1096).jpg 128KB
IMG%20(1069).jpg 127KB
IMG%20(701).jpg 127KB
IMG%20(974).jpg 126KB
IMG%20(667).jpg 125KB
IMG%20(953).jpg 125KB
IMG%20(933).jpg 125KB
IMG%20(851).jpg 125KB
IMG%20(1029).jpg 125KB
IMG%20(349).jpg 125KB
IMG%20(678).jpg 125KB
IMG%20(831).jpg 125KB
IMG%20(733).jpg 124KB
IMG%20(1101).jpg 124KB
IMG%20(928).jpg 124KB
IMG%20(972).jpg 124KB
IMG%20(728).jpg 124KB
IMG%20(6).jpg 124KB
IMG%20(1090).jpg 124KB
IMG%20(1067).jpg 123KB
IMG%20(1095).jpg 123KB
IMG%20(946).jpg 123KB
IMG%20(659).jpg 123KB
IMG%20(992).jpg 123KB
IMG%20(1075).jpg 123KB
IMG%20(689).jpg 123KB
IMG%20(673).jpg 122KB
IMG%20(730).jpg 122KB
IMG%20(724).jpg 122KB
IMG%20(348).jpg 122KB
IMG%20(860).jpg 122KB
IMG%20(350).jpg 122KB
IMG%20(1034).jpg 122KB
IMG%20(1098).jpg 122KB
IMG%20(1017).jpg 122KB
IMG%20(1078).jpg 122KB
IMG%20(704).jpg 122KB
IMG%20(949).jpg 122KB
IMG%20(676).jpg 122KB
IMG%20(1035).jpg 122KB
IMG%20(1002).jpg 122KB
IMG%20(923).jpg 121KB
IMG%20(624).jpg 121KB
IMG%20(1015).jpg 121KB
IMG%20(945).jpg 121KB
IMG%20(1046).jpg 121KB
IMG%20(956).jpg 121KB
IMG%20(999).jpg 121KB
IMG%20(669).jpg 121KB
IMG%20(1132).jpg 121KB
IMG%20(940).jpg 121KB
IMG%20(983).jpg 121KB
IMG%20(15).jpg 120KB
IMG%20(691).jpg 120KB
IMG%20(1118).jpg 120KB
IMG%20(994).jpg 120KB
IMG%20(1066).jpg 120KB
IMG%20(1040).jpg 120KB
IMG%20(854).jpg 120KB
IMG%20(904).jpg 120KB
IMG%20(1070).jpg 120KB
IMG%20(693).jpg 120KB
IMG%20(722).jpg 120KB
IMG%20(973).jpg 120KB
IMG%20(996).jpg 119KB
IMG%20(713).jpg 119KB
IMG%20(995).jpg 119KB
IMG%20(719).jpg 119KB
IMG%20(326).jpg 119KB
IMG%20(1107).jpg 119KB
IMG%20(852).jpg 119KB
IMG%20(997).jpg 119KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
- laojin12342024-05-12资源和描述一致,质量不错,解决了我的问题,感谢资源主。
听风吹等浪起
- 粉丝: 1w+
- 资源: 1239
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功