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 = './dataset/Missing_hole/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)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
项目包含PCB电路板瑕疵缺陷检测数据集(VOC标注的xml文件),文件以文件夹格式储存,可直接用作图像分割数据集,无需额外处理。 数据集分为六个子项目,分别是PCB电路板的6中常见缺陷瑕疵:缺失孔,老鼠咬伤,开路,短路,杂散,伪铜(总共1386张图片和1386个标注xml文件) 数据集介绍: Missing_hole 、Mouse_bite、Open_circuit、Short、Spur、Spurious_copper六个文件夹,每个文件夹下分为images和labels两个目录,存放图片和对应的xml标签 除此之外,提供了可视化的脚本,展示后保存在当前目录下 如果把子项目的images提取,可以做PCB的分类任务
资源推荐
资源详情
资源评论
收起资源包目录
计算机视觉之目标检测数据集:PCB电路板瑕疵缺陷检测数据集(VOC标注的xml文件) (1388个子文件)
04_spurious_copper_12.jpg 1.64MB
04_spurious_copper_16.jpg 1.64MB
04_spurious_copper_15.jpg 1.64MB
04_spurious_copper_09.jpg 1.64MB
04_spurious_copper_17.jpg 1.64MB
04_spurious_copper_13.jpg 1.64MB
04_spurious_copper_07.jpg 1.64MB
04_spurious_copper_10.jpg 1.64MB
04_spurious_copper_14.jpg 1.64MB
04_spurious_copper_19.jpg 1.64MB
04_spurious_copper_08.jpg 1.64MB
04_spurious_copper_04.jpg 1.64MB
04_spurious_copper_20.jpg 1.64MB
04_spurious_copper_05.jpg 1.64MB
04_spurious_copper_03.jpg 1.64MB
04_spurious_copper_06.jpg 1.64MB
04_spurious_copper_18.jpg 1.63MB
04_spurious_copper_02.jpg 1.63MB
04_spurious_copper_01.jpg 1.63MB
04_spur_15.jpg 1.63MB
04_spur_13.jpg 1.63MB
04_spur_06.jpg 1.63MB
04_spur_09.jpg 1.63MB
04_mouse_bite_11.jpg 1.63MB
04_spur_14.jpg 1.63MB
04_spur_16.jpg 1.63MB
04_mouse_bite_17.jpg 1.63MB
04_open_circuit_02.jpg 1.63MB
04_spur_10.jpg 1.63MB
04_mouse_bite_18.jpg 1.63MB
04_spur_07.jpg 1.63MB
04_open_circuit_03.jpg 1.63MB
04_spur_08.jpg 1.63MB
04_spur_03.jpg 1.63MB
04_mouse_bite_06.jpg 1.63MB
04_spur_12.jpg 1.63MB
04_spur_11.jpg 1.63MB
04_spur_20.jpg 1.63MB
04_open_circuit_10.jpg 1.63MB
04_mouse_bite_15.jpg 1.63MB
04_open_circuit_18.jpg 1.63MB
04_spur_02.jpg 1.63MB
04_mouse_bite_12.jpg 1.63MB
04_mouse_bite_09.jpg 1.63MB
04_spur_01.jpg 1.63MB
04_mouse_bite_19.jpg 1.63MB
04_mouse_bite_07.jpg 1.63MB
04_spur_17.jpg 1.63MB
04_open_circuit_13.jpg 1.63MB
04_open_circuit_04.jpg 1.63MB
04_spur_04.jpg 1.63MB
04_mouse_bite_03.jpg 1.63MB
04_spur_05.jpg 1.63MB
04_mouse_bite_16.jpg 1.63MB
04_mouse_bite_08.jpg 1.63MB
04_mouse_bite_14.jpg 1.63MB
04_short_05.jpg 1.63MB
04_mouse_bite_02.jpg 1.63MB
04_spur_18.jpg 1.63MB
04_open_circuit_12.jpg 1.63MB
04_mouse_bite_05.jpg 1.63MB
04_open_circuit_05.jpg 1.63MB
04_open_circuit_09.jpg 1.63MB
04_mouse_bite_13.jpg 1.63MB
04_open_circuit_11.jpg 1.63MB
04_mouse_bite_01.jpg 1.63MB
04_open_circuit_06.jpg 1.63MB
04_spur_19.jpg 1.63MB
04_open_circuit_19.jpg 1.63MB
04_open_circuit_17.jpg 1.63MB
04_mouse_bite_20.jpg 1.63MB
04_short_11.jpg 1.63MB
04_mouse_bite_04.jpg 1.63MB
04_short_18.jpg 1.63MB
04_open_circuit_14.jpg 1.63MB
04_short_10.jpg 1.63MB
04_mouse_bite_10.jpg 1.63MB
04_short_17.jpg 1.63MB
04_short_07.jpg 1.63MB
04_short_04.jpg 1.63MB
04_open_circuit_15.jpg 1.63MB
04_short_19.jpg 1.63MB
04_missing_hole_09.jpg 1.63MB
04_open_circuit_07.jpg 1.63MB
04_open_circuit_08.jpg 1.63MB
04_short_14.jpg 1.63MB
04_open_circuit_20.jpg 1.63MB
04_short_16.jpg 1.63MB
04_missing_hole_10.jpg 1.63MB
04_short_08.jpg 1.63MB
04_missing_hole_04.jpg 1.63MB
04_missing_hole_07.jpg 1.63MB
04_short_12.jpg 1.63MB
04_short_09.jpg 1.63MB
04_short_02.jpg 1.63MB
04_short_13.jpg 1.63MB
04_open_circuit_16.jpg 1.63MB
04_short_15.jpg 1.63MB
04_missing_hole_01.jpg 1.63MB
04_short_06.jpg 1.63MB
共 1388 条
- 1
- 2
- 3
- 4
- 5
- 6
- 14
资源评论
- lzwhlx2024-05-17怎么能有这么好的资源!只能用感激涕零来形容TAT...
Ai医学图像分割
- 粉丝: 2w+
- 资源: 2128
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功