对于开发者与研究者而言,一款免费、开源且易用的标注工具能极大提升效率。LabelImg 正是这样一个经典的选择,它专为目标检测任务设计,能直接生成PASCAL VOC或YOLO格式的标注文件,完美兼容主流深度学习框架。本文将为你提供一份清晰、无痛的LabelImg图文指南,从零开始,一步步带你完成安装与环境配置,并详解其核心功能与高效使用技巧,让你能快速上手,为自己的AI模型打造坚实的数据基石。
环境说明:
操作系统:win11
python版本: 3.7.16
labelimg版本: 1.8.1 labeimg.zip
1、数据清洗,删除与项目无关的图片。
2、下载labelimg.zip,并解压,解压后目录结构如下图所示。

打开命令行,切换到labelimg目录下(上图中的目录),执行以下命令:
pip3 install pyqt5 lxml
无报错即安装成功。
3、创建一个datasets目录,在datasets目录下再创建images和labels子目录(最终目录结构如下所示)。将所有待标注的图片复制到images目录下。
datasets
├─images
└─labels
4、配置标注类别,打开labelimg路径下的data/predefined_classes.txt文件,将文件中的内容修改成自己的类名,尽量用英文字符。然后保存。

5、执行完成后,即可启动labelimg,切记需要切换到labelimg目录中:
python labelimg.py
启动后可看到如下界面:

6、配置labelimg
首先设置自动保存,点击view,勾选 Auto Save mode

然后选择图片保存目录,datasets/images。

打开后右下角会出现图片的列表

继续选择标注文件保存路径 datasets/labels。

最后,需要更改标注文件格式,这里采用yolo

7、接下来我们就可以开始标注了。
快捷键说明:
w:新建一个标注框
d:下一张图片(如果勾选了 Auto Save mode,会自动保存)
a:上一张图片
Delete:删除框
Ctrl + 滚动鼠标:图片放大缩小
每标注一个目标,都要选择对应的类别。

标注文件会在labels目录中,标注的文件名和图片文件名一样(后缀除外)。

常见错误:
Traceback (most recent call last):
File ".......\labelImg\libs\canvas.py", line 458, in paintEvent
p.drawLine(self.prevPoint.x(), 0, self.prevPoint.x(), self.pixmap.height())
TypeError: arguments did not match any overloaded call:
drawLine(self, l: QLineF): argument 1 has unexpected type 'float'
drawLine(self, line: QLine): argument 1 has unexpected type 'float'
drawLine(self, x1: int, y1: int, x2: int, y2: int): argument 1 has unexpected type 'float'
drawLine(self, p1: QPoint, p2: QPoint): argument 1 has unexpected type 'float'
drawLine(self, p1: Union[QPointF, QPoint], p2: Union[QPointF, QPoint]): argument 1 has unexpected type 'float'
解决办法:
python版本过高,建议python版本使用3.9及以下。
1万+

被折叠的 条评论
为什么被折叠?



