[数据集][目标检测]智能手机屏幕缺陷检测数据集VOC+YOLO格式1200张3类别油斑划痕两点三类

数据集格式:Pascal VOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件)
图片数量(jpg文件个数):1200
标注数量(xml文件个数):1200
标注数量(txt文件个数):1200
标注类别数:3
标注类别名称:["oilspot","scratch","star"]
每个类别标注的框数:
oilspot 框数 = 554
scratch 框数 = 1335
star 框数 = 1135
总框数:3024
使用标注工具:labelImg
标注规则:对类别进行画矩形框
重要说明:暂无
特别声明:本数据集不对训练的模型或者权重文件精度作任何保证,数据集只提供准确且合理标注

整体图:

示例:

油斑:

 划痕:

 

亮点:

 

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
好的,以下是一个将yolo格式数据集转换为voc格式的脚本。请确保您已经安装了必要的Python库,如xml.etree.ElementTree和opencv。 ```python import os import cv2 import xml.etree.ElementTree as ET classes = ['class1', 'class2', 'class3'] # 填写您的类别列表 yolo_labels_folder = 'yolo_labels/' # 填写您的yolo标签文件夹 voc_labels_folder = 'voc_labels/' # 填写您要输出的voc标签文件夹 image_folder = 'images/' # 填写您的图像文件夹 def convert(size, box): dw = 1. / size[0] dh = 1. / size[1] x = (box[0] + box[1]) / 2.0 y = (box[2] + box[3]) / 2.0 w = box[1] - box[0] h = box[3] - box[2] x = x * dw w = w * dw y = y * dh h = h * dh return (x, y, w, h) for filename in os.listdir(yolo_labels_folder): if filename.endswith('.txt'): img_id = filename[:-4] img_path = image_folder + img_id + '.jpg' img = cv2.imread(img_path) h, w, _ = img.shape # 创建新的voc标签文件 root = ET.Element('annotation') ET.SubElement(root, 'folder').text = 'VOC2007' ET.SubElement(root, 'filename').text = img_id + '.jpg' source = ET.SubElement(root, 'source') ET.SubElement(source, 'database').text = 'Unknown' size = ET.SubElement(root, 'size') ET.SubElement(size, 'width').text = str(w) ET.SubElement(size, 'height').text = str(h) ET.SubElement(size, 'depth').text = '3' ET.SubElement(root, 'segmented').text = '0' with open(yolo_labels_folder + filename, 'r') as f: lines = f.readlines() for line in lines: line = line.strip().split(' ') class_id = int(line[0]) x_min = int(float(line[1]) * w - float(line[3]) * w / 2) y_min = int(float(line[2]) * h - float(line[4]) * h / 2) x_max = int(float(line[1]) * w + float(line[3]) * w / 2) y_max = int(float(line[2]) * h + float(line[4]) * h / 2) obj = ET.SubElement(root, 'object') ET.SubElement(obj, 'name').text = classes[class_id] ET.SubElement(obj, 'pose').text = 'Unspecified' ET.SubElement(obj, 'truncated').text = '0' ET.SubElement(obj, 'difficult').text = '0' bbox = ET.SubElement(obj, 'bndbox') ET.SubElement(bbox, 'xmin').text = str(x_min) ET.SubElement(bbox, 'ymin').text = str(y_min) ET.SubElement(bbox, 'xmax').text = str(x_max) ET.SubElement(bbox, 'ymax').text = str(y_max) # 保存voc标签文件 tree = ET.ElementTree(root) tree.write(voc_labels_folder + img_id + '.xml') ``` 请将代码中的“classes”,“yolo_labels_folder”,“voc_labels_folder”和“image_folder”替换为您的自定义变量。此脚本假定yolo标签文件和图像文件具有相同的文件名(但文件扩展名不同),并且它们都位于yolo_labels_folder和image_folder中。 此脚本将在voc_labels_folder中生成与yolo标签文件相对应的voc标签文件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FL1623863129

你的打赏是我写文章最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值