【labelme标注软件使用-自动保存和AI标注】

【labelme标注软件使用-自动保存和AI标注】

标注自动保存

labelme path/to/input_folder --output path/to/output_folder --autosave

其中:

  • input_folder 是图片所在的文件夹。
  • output_folder 是希望所有标注文件保存到的文件夹。
  • –autosave 选项会在完成标注后自动保存,而不再弹出路径选择对话框。

也可以直接运行,添加自动保存参数。手动选择图片目录

labelme --autosave

AI标注

选择AI模型
在这里插入图片描述

labelme自动去GitHub下载onnx模型到本地,确保网络通畅。
在这里插入图片描述

模型下载完成后,鼠标右键创建AI多边形
在这里插入图片描述

等待AI模型推理完成,通常会自动标注连续3张图片,每张图片花费时间取决于模型大小和图片大小。一般情况下,一张图片2-3秒。
在这里插入图片描述

AI模型推理完成后,鼠标左键单击点击要分割的区域。然后AI模型自动标注出来特定的区域。
在这里插入图片描述

标注好特定区域后,鼠标左键双击确定标注完成,然后添加标签。
在这里插入图片描述

如果标注的不满意,可以手动调整标注的关键点位置,快捷键Ctrl+J编辑多边形。
在这里插入图片描述

然后快捷键d切换下一站图片继续标注,或者快捷键a返回是一张图片检测。

模型下载链接

模型存放地址

C:\Users\用户名\.cache\gdown

模型下载地址
百度网盘

https://pan.baidu.com/s/1pdFnwRROsKhUlX1U623RTw?pwd=bxf2 

提取码:bxf2

<think>好的,我现在需要帮助用户了解如何使用LabelMe工具自动标注矩形框。用户提到了教程、使用方法示例代码,所以我要确保回答涵盖这些方面。首先,我需要回忆LabelMe的功能相关引用内容。根据提供的引用,特别是引用[2]引用[3],LabelMe支持多种标注类型,包括矩形框,并且可以通过扩展或脚本进行自动化处理。 用户的问题是关于自动标注,而通常LabelMe的界面是手动操作的,所以自动标注可能需要借助脚本或插件。引用[3]提到可以扩展定制,比如添加新的工具或导出格式,这可能涉及到编写代码。因此,我需要考虑如何通过编写Python脚本与LabelMe的API交互,或者使用现有的命令行工具来实现自动标注。 接下来,我需要检查是否有现成的示例代码或方法。根据引用[1],LabelMe标注文件是JSON格式,包含形状信息,如矩形框的坐标。自动生成这些JSON文件可能是一个方法。此外,引用[4]提到了LabelImg使用XML文本格式,但LabelMe使用JSON,所以需要确保生成正确的格式。 可能的步骤包括: 1. 安装LabelMe。 2. 准备图像数据集。 3. 编写脚本生成带有矩形框标注的JSON文件。 4. 使用LabelMe进行验证或后续处理。 需要确保示例代码正确,比如使用LabelMePython API(如果有的话),或者直接构建符合其JSON结构的文件。同时,要引用相关的资料,比如引用[2][3]来支持方法的可行性。 用户可能需要具体的代码示例,比如如何生成一个包含矩形框的JSON文件。这里需要参考LabelMe的JSON结构,通常包括version、flags、shapes(包含label、points、shape_type等)。因此,示例代码应该构造这样的结构,并保存为.json文件。 还需要考虑路径问题,确保图像路径正确,以及如何批量处理。此外,可能提到使用命令行工具来自动化,比如labelme_json_to_dataset命令,但不确定是否适用于自动生成标注。 最后,验证生成的JSON文件是否能在LabelMe中正确加载,确保矩形框显示正确。可能还需要说明如何修改脚本以适应不同的标签或坐标。</think>以下是使用LabelMe自动标注矩形框的详细教程,结合脚本实现批量处理: ### 一、LabelMe自动标注矩形框方法 LabelMe本身是交互式标注工具,但可通过以下两种方式实现自动标注: 1. **脚本生成JSON标注文件**(推荐):直接生成符合LabelMe格式的JSON文件[^2] 2. **API调用扩展功能**:通过Python API控制标注流程(需二次开发) ### 二、自动标注实现步骤(脚本方式) #### 1. 安装LabelMe ```bash pip install labelme ``` #### 2. 准备图像文件 建议将图像存放在`./images`目录,结构示例: ``` dataset/ ├── images/ │ ├── img1.jpg │ └── img2.png └── labels/ # 自动生成 ``` #### 3. 自动标注脚本示例 ```python import json import os from glob import glob def auto_bbox(image_dir, output_dir): os.makedirs(output_dir, exist_ok=True) for img_path in glob(os.path.join(image_dir, "*.*")): # 构造基础信息 base_name = os.path.basename(img_path) json_data = { "version": "5.2.1", "flags": {}, "shapes": [ { "label": "object", # 修改为实际类别 "points": [[100, 150], [300, 400]], # 自动检测坐标填入 "group_id": None, "shape_type": "rectangle", "flags": {} } ], "imagePath": base_name, "imageData": None, # 实际使用需用base64编码 "imageHeight": 600, # 替换为实际尺寸 "imageWidth": 800 } # 保存JSON文件 with open(os.path.join(output_dir, base_name+'.json'), 'w') as f: json.dump(json_data, f, indent=2) # 使用示例 auto_bbox("./dataset/images", "./dataset/labels") ``` #### 4. 关键参数说明 - `points`字段应为矩形对角坐标,格式:`[[x1,y1], [x2,y2]]` - 实际应用需集成目标检测模型,将预测框填入`points`字段[^3] - 图像尺寸需与实际图片一致 ### 三、标注验证 1. 打开LabelMe界面 ```bash labelme ./dataset/images --autosave ``` 2. 加载生成的JSON文件,将自动显示矩形标注框 ### 四、批量转换示例 将自动生成的JSON转换为YOLO格式: ```python import json import os def labelme2yolo(json_dir, class_map): for json_file in os.listdir(json_dir): with open(os.path.join(json_dir, json_file)) as f: data = json.load(f) yolo_lines = [] for shape in data['shapes']: if shape['shape_type'] == 'rectangle': x1, y1 = shape['points'][0] x2, y2 = shape['points'][1] # 转换坐标 dw = 1./data['imageWidth'] dh = 1./data['imageHeight'] x_center = ((x1 + x2)/2) * dw y_center = ((y1 + y2)/2) * dh width = abs(x2 - x1) * dw height = abs(y2 - y1) * dh # 写入行 yolo_lines.append(f"{class_map[shape['label']]} {x_center} {y_center} {width} {height}") # 保存YOLO格式 txt_path = os.path.splitext(json_file)[0] + '.txt' with open(txt_path, 'w') as f: f.write('\n'.join(yolo_lines)) # 使用示例 class_map = {"object": 0} # 类别映射 labelme2yolo("./dataset/labels", class_map) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Ztiddler

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值