labelimg标注yolo格式
时间: 2025-05-14 08:59:14 浏览: 23
### 使用 LabelImg 进行 YOLO 格式的数据标注
LabelImg 是一款功能强大的开源图像标注工具,支持多种格式的标注输出,其中包括 YOLO 数据集所需的格式。以下是关于如何使用 LabelImg 工具生成符合 YOLO 要求的数据标注的具体说明。
#### 1. 安装与启动 LabelImg
为了使用 LabelImg,需先完成其安装并成功运行程序。通常情况下,可以通过 Python 环境来安装该工具,并利用命令行界面启动它[^3]。如果希望简化流程,则可以选择预编译版本直接下载执行文件而无需额外配置环境变量或安装依赖项[^1]。
#### 2. 创建新项目并加载图片
打开软件后,在主界面上方菜单栏选择 `Change Save Dir` 来指定保存路径;接着点击左侧按钮浏览本地硬盘上的待处理图片文件夹位置。此时会自动读取所有符合条件的图片列表显示出来供逐张操作。
#### 3. 绘制边界框及分类对象
对于每一张需要标记的照片来说,应该按照实际场景中的物体类别逐一绘制矩形区域围绕目标物周围。具体做法如下:
- 单击鼠标左键拖拽形成初步轮廓;
- 双击已创建好的边框调整精确度直至满意为止;
- 输入对应的类名到弹窗内的文本框里确认提交即可。
#### 4. 导出为 YOLO 格式
当所有的图片都完成了上述步骤之后就可以准备导出了。注意在此之前还需要设置好一些参数选项以匹配最终需求标准:
- **坐标系定义**:YOLO采用的是相对坐标的表示方式而不是绝对像素值。这意味着每个bounding box的信息由五个数值组成:中心点横纵比例(x_center, y_center),宽度高度相对于整幅图的比例(w,h)以及所属类别索引号class_id[^2]。
- **存储结构安排**:一般建议将原始JPEG/PNG等类型的源素材单独放置在一个子目录下比如images/ ,与此同时产生的TXT描述文档则另外建立labels/ 文件夹存放以便区分管理方便后续调用。
最后一步就是切换至顶部导航条里的Save As... 功能项那里挑选pascal_voc 或者 darknet (即我们所需要的yolo形式之一)作为输出样式从而正式结束整个过程。
```python
def convert(size, box):
dw = 1./(size[0])
dh = 1./(size[1])
x = (box[0] + box[1])/2.0 - 1
y = (box[2] + box[3])/2.0 - 1
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)
# Example usage of the function above to demonstrate conversion logic from VOC format bounding boxes into YOLO style.
width = 800
height = 600
bnd_box = [150, 750, 300, 500] # xmin,xmax,ymin,ymax values according to VOC standard notation system respectively here.
converted_values = convert((width,height), bnd_box)
print(converted_values)
```
阅读全文
相关推荐


















