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(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)
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
项目包含黑夜港口船只目标检测数据集(1分类)(VOC标注格式的xml文件),数据保存按照文件夹保存,可直接用作目标检测数据集,无需额外处理。 数据集介绍:船只目标检测 数据总大小:110MB 数据分为分为训练集和测试集(data--train(test)----images(labels)) 训练集:4484张图片和4484个标签xml文件组成 测试集:1120张图片和1120个标签xml文件组成 ***除此外,包含检测类别的json字典文件*** 为了方便查看数据,提供了可视化py文件,随机传入一张图片即可绘制边界框,并且保存在当前目录。脚本无需更改,可以直接运行!
资源推荐
资源详情
资源评论
收起资源包目录
深度学习之目标检测数据集:黑夜港口船只目标检测数据集(1分类)(VOC标注格式的xml文件) (2000个子文件)
show.py 2KB
P0119_2400_3200_6000_6800.xml 27KB
P0114_3600_4400_7200_8000.xml 22KB
P0115_4800_5600_9800_10600.xml 20KB
P0118_1800_2600_6000_6800.xml 13KB
P0120_3000_3800_8400_9200.xml 12KB
P0109_4200_5000_9600_10400.xml 12KB
P0119_3000_3800_6000_6800.xml 12KB
P0108_2400_3200_7200_8000.xml 11KB
P0106_4200_5000_18000_18800.xml 9KB
P0115_5550_6350_9600_10400.xml 9KB
P0116_4800_5600_7800_8600.xml 8KB
P0109_3600_4400_10200_11000.xml 7KB
P0120_3000_3800_9200_10000.xml 7KB
P0105_3600_4400_16200_17000.xml 7KB
P0116_4200_5000_7800_8600.xml 6KB
P0112_4200_5000_6600_7400.xml 5KB
P0116_4200_5000_9000_9800.xml 5KB
P0114_3600_4400_6600_7400.xml 5KB
P0106_4200_5000_17400_18200.xml 5KB
P0001_1800_2600_10190_10990.xml 4KB
P0028_600_1400_7200_8000.xml 4KB
P0029_0_800_7200_8000.xml 4KB
P0116_4200_5000_8400_9200.xml 4KB
P0015_0_800_7200_8000.xml 4KB
P0105_2400_3200_16800_17600.xml 4KB
P0120_3600_4400_8400_9200.xml 4KB
P0135_600_1400_6600_7400.xml 4KB
P0105_3000_3800_15600_16400.xml 4KB
P0008_0_800_7800_8600.xml 4KB
P0091_600_1400_2400_3200.xml 3KB
P0033_0_800_7200_8000.xml 3KB
P0083_1800_2600_3000_3800.xml 3KB
P0086_1200_2000_3000_3800.xml 3KB
P0039_0_800_7200_8000.xml 3KB
P0012_0_800_7200_8000.xml 3KB
P0135_1200_2000_5400_6200.xml 3KB
P0025_2400_3200_10189_10989.xml 3KB
P0022_0_800_7200_8000.xml 3KB
P0039_600_1400_7200_8000.xml 3KB
P0028_0_800_7200_8000.xml 3KB
P0010_0_800_7200_8000.xml 3KB
P0016_0_800_7800_8600.xml 3KB
P0110_6200_7000_5400_6200.xml 3KB
P0120_2400_3200_7200_8000.xml 3KB
P0088_2200_3000_5200_6000.xml 3KB
P0128_3000_3800_2400_3200.xml 3KB
P0003_0_800_7200_8000.xml 3KB
P0094_600_1400_3000_3800.xml 3KB
P0086_1200_2000_2400_3200.xml 3KB
P0001_0_800_7200_8000.xml 3KB
P0082_0_800_600_1400.xml 3KB
P0093_2400_3200_4200_5000.xml 3KB
P0118_1200_2000_6600_7400.xml 3KB
P0111_6600_7400_9600_10400.xml 3KB
P0134_6000_6800_6600_7400.xml 3KB
P0123_600_1400_1800_2600.xml 3KB
P0001_600_1400_9000_9800.xml 3KB
P0012_600_1400_7800_8600.xml 3KB
P0015_600_1400_7800_8600.xml 3KB
P0085_2400_3200_3000_3800.xml 3KB
P0037_0_800_7800_8600.xml 3KB
P0005_0_800_8189_8989.xml 3KB
P0111_4800_5600_9000_9800.xml 3KB
P0110_6000_6800_5400_6200.xml 3KB
P0096_1800_2600_3600_4400.xml 3KB
P0002_600_1400_7800_8600.xml 3KB
P0135_1800_2600_3000_3800.xml 3KB
P0083_1200_2000_2400_3200.xml 3KB
P0090_600_1400_3000_3800.xml 3KB
P0135_1200_2000_4800_5600.xml 3KB
P0085_3000_3800_3600_4400.xml 3KB
P0085_1200_2000_2400_3200.xml 3KB
P0118_1200_2000_7200_8000.xml 3KB
P0134_5400_6200_7200_8000.xml 3KB
P0120_3000_3800_7800_8600.xml 3KB
P0100_1800_2600_2900_3700.xml 2KB
P0093_1200_2000_3000_3800.xml 2KB
P0095_1800_2600_3200_4000.xml 2KB
P0102_1800_2600_3200_4000.xml 2KB
P0099_1500_2300_2400_3200.xml 2KB
P0092_1200_2000_3000_3800.xml 2KB
P0085_2400_3200_3700_4500.xml 2KB
P0087_1800_2600_3900_4700.xml 2KB
P0128_4200_5000_4200_5000.xml 2KB
P0031_600_1400_8400_9200.xml 2KB
P0082_2400_3200_4206_5006.xml 2KB
P0125_2400_3200_9600_10400.xml 2KB
P0128_4200_5000_4800_5600.xml 2KB
P0021_600_1400_7800_8600.xml 2KB
P0128_1800_2600_600_1400.xml 2KB
P0106_4200_5000_16800_17600.xml 2KB
P0088_2200_3000_4800_5600.xml 2KB
P0095_1800_2600_3000_3800.xml 2KB
P0118_2400_3200_5400_6200.xml 2KB
P0085_600_1400_1800_2600.xml 2KB
P0082_600_1400_2400_3200.xml 2KB
P0106_3600_4400_18000_18800.xml 2KB
P0118_1200_2000_8400_9200.xml 2KB
P0108_1200_2000_8400_9200.xml 2KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
听风吹等浪起
- 粉丝: 1w+
- 资源: 1289
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功