windows下使用精灵标注图片

之前有写过在Windows系统下使用Labelimg的教程:windows下使用labelImg标注图像_韩小哥的博客的博客-CSDN博客_labelimg

后来在工作中使用时候,Labelimg使用的不顺手,而且效率不高,之后发现一款比较好用,功能比较全的标注软件。

下面详细介绍这款软件的安装和使用:

一、精灵标注助手的安装:

1,软件下载地址:精灵标注助手-人工智能数据集标注工具

注意这里安装的是Windows版本,如果安装Mac或者Linux版本,请参考:精灵标注助手-人工智能数据集标注工具

2,直接双击exe文件,开始安装,安装语言可选择中文:

二、精灵标注助手的使用:

1,双击安装后的软件:

选择“新建”,填写项目名称,选择图片位置,填写分类值,分类值用逗号隔开:

2,界面操作开始画框:

左侧可选择三种画图操作,选择“矩形框”或者使用快捷键“r”

3,画框后选择右侧的标注信息,可选择之前录入的标签名,也可以自定义:

之后选择下方的“对号”,此时会显示“保存成功”,界面的左下方会显示当前标注的图片位置;

4,删除画框,鼠标选中画框,点击左侧的“删除选框”按钮;

5,等所有图片标注完成后,点击左下角的“导出”按钮,出现界面如下:

选择默认的“pascal-voc”和保存路径,点击“确定导出”,在保存路径中生成voc标注文件;

三、精灵标注助手快捷键

功能快捷键
移动空格
删除选框Delete
曲线框c
多边形框p
矩形框r
前一个左箭头
后一个右箭头

四、精灵标注和Labelimg的比较:

说下自己使用Labelimg的局限性:

1,功能少;

2,快捷键比较多,麻烦;

3,标注一张图就要保存一张图,耗时;

4,界面复杂,不太简洁;

以上是个人的总结,如有错误,望各位不吝赐教,希望多多交流,共同进步。

  • 7
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 21
    评论
使用YOLO进行批量标注图片,可以按照以下步骤: 1. 准备数据集:将需要标注图片保存在一个文件夹中,并在该文件夹中创建一个labels子文件夹用于保存标注结果。 2. 安装YOLO:按照YOLO官方文档的指引,安装YOLO。 3. 创建标注文件:使用YOLO提供的labelImg工具或其他标注工具,创建标注文件。标注文件应该包含每张图片中所有目标的类别和位置信息。 4. 将标注文件转换为YOLO格式:将标注文件转换为YOLO所需的格式。YOLO要求每个标注文件包含一行数据,该行数据应该包含目标的类别和位置信息。位置信息应该是目标在图片中的中心点坐标、宽度和高度,以及相对于图片大小的比例。 5. 执行批量标注脚本:编写一个Python脚本,使用YOLO提供的API读取每个图片和相应的标注文件,并将标注结果保存在labels子文件夹中。 以下是一个简单的Python脚本示例: ``` import os import cv2 import numpy as np import glob # 标注文件所在目录 label_dir = "labels" # 图片文件所在目录 image_dir = "images" # YOLO配置文件 cfg_file = "yolov3.cfg" # YOLO权重文件 weight_file = "yolov3.weights" # YOLO类别文件 class_file = "coco.names" # 加载YOLO模型 net = cv2.dnn.readNetFromDarknet(cfg_file, weight_file) # 加载类别文件 classes = [] with open(class_file, "r") as f: classes = [line.strip() for line in f.readlines()] # 遍历图片文件 for image_file in glob.glob(os.path.join(image_dir, "*.jpg")): # 加载图片 image = cv2.imread(image_file) height, width, channels = image.shape # 执行YOLO检测 blob = cv2.dnn.blobFromImage(image, 1 / 255.0, (416, 416), swapRB=True, crop=False) net.setInput(blob) layer_names = net.getLayerNames() output_layers = [layer_names[i[0] - 1] for i in net.getUnconnectedOutLayers()] outputs = net.forward(output_layers) # 解析YOLO输出 boxes = [] confidences = [] class_ids = [] for output in outputs: for detection in output: scores = detection[5:] class_id = np.argmax(scores) confidence = scores[class_id] if confidence > 0.5: center_x = int(detection[0] * width) center_y = int(detection[1] * height) w = int(detection[2] * width) h = int(detection[3] * height) x = int(center_x - w / 2) y = int(center_y - h / 2) boxes.append([x, y, w, h]) confidences.append(float(confidence)) class_ids.append(class_id) # 标注结果保存到文件 label_file = os.path.join(label_dir, os.path.basename(image_file).replace(".jpg", ".txt")) with open(label_file, "w") as f: for i in range(len(boxes)): class_name = classes[class_ids[i]] x, y, w, h = boxes[i] x_rel = x / width y_rel = y / height w_rel = w / width h_rel = h / height f.write(f"{class_name} {x_rel:.6f} {y_rel:.6f} {w_rel:.6f} {h_rel:.6f}\n") ``` 该脚本使用OpenCV的DNN模块执行YOLO检测,并将标注结果保存到labels子文件夹中。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值