写在前面

此工具项目地址为tzutalin/labelImg: 🖍️ LabelImg is a graphical image annotation tool and label object bounding boxes in images (github.com)

本文仅介绍个人学习使用心得。

LabelImg介绍

官方说明:

LabelImg 是一种图形图像注释工具。

它以 Python 编写,并使用 Qt 进行图形界面。

注释以 PASCAL VOC 格式保存为 XML 文件,这是ImageNet使用的格式。此外,它还支持YOLO和创建ML格式。

显然,我们可以用它来进行机器学习的打标工作。

labelImg安装

方式一(直接安装)

对于windows系统,因为作者已经提供了exe文件,所以直接下载即可。

下载地址:Releases · tzutalin/labelImg (github.com)

如果库文件缺失,请参考方式二添加库文件。

最后直接运行exe文件即可。

方式二(windows 10)

请先确保已安装python环境,Linux环境下安装请直接访问项目源地址

为什么有了方式一还要写方式二呢?这是为了防止一些库文件不存在,另一方面装上这些库也许以后用得上呢。(其实是写完了方式二才发现作者有编译好的exe文件)。需要安装的有labelImg和pyqt5、pyqt5-tools、lxml三个库文件。

安装labelImg:

1
pip install labelImg

1041

如果报错,使用git bush下载:

1
git clone https://github.com/tzutalin/labelImg

安装好后,并不能直接使用,因为缺少相关的库文件。

安装pyqt5

安装pyqt5

1
pip install pyqt5

1042

如果像我一样报错,继续向下

安装SIP

1
pip install SIP

1043

如果依然报错,则直接到官网下载PyQt5:

1044

下载完毕后,到此文件存放的路径下使用cmd:

1
pip install PyQt5-5.15.4-cp36.cp37.cp38.cp39-none-win_amd64.whl

如果运行以上命令出现以下情况:

1045

你需要手动指定python中site-packages的路径,命令格式为:

1
pip install --target=C:/python39/Lib/site-packages PyQt5-5.15.4-cp36.cp37.cp38.cp39-none-win_amd64.whl

其中target处的路径是你python中site-packages的安装路径,执行无误为出现以下结果:

1046

安装pyqt5-tools

直接到官网下载:pyqt5-tools · PyPI

下载完毕后,在此文件下cmd运行:

1
pip install pyqt5_tools-5.15.4.3.2-py3-none-any.whl

如果报错,手动指定python中site-packages的路径再试一次。

1047

安装lxml

直接运行:

1
pip install lxml

将qt资源编译为py文件

在你安装labelImg的文件夹下运行:

1
pyrcc5 -o libs/resources.py resources.qrc

如果没有任何报错,那么就可以运行了。如果报错了或者显示'pyrcc5' 不是内部或外部命令,也不是可运行的程序那就惨了,这需要一些其他配置。

笔者到这里便没有继续操作了,这里提供以下解决方案,你也可以继续探索:

(13条消息) PyQt5+python3+pycharm开发环境配置_根号下的麻辣烫-CSDN博客

运行方式:直接在安装目录下运行

1
python labelImg.py

labelImg使用

1048

  1. 构建和启动程序。
  2. 在菜单/文件中单击“更改默认保存的注释文件夹”
  3. 点击“打开目录”
  4. 点击“创建RectBox”
  5. 单击并释放鼠标左键以选择一个区域来标注矩形框
  6. 您可以使用鼠标右键拖动矩形框来复制或移动它

在使用前,最好先创建两个文件夹:

1049

其中,Annotations文件夹用以存放注释后的xml文件,JPEGImages用以存放训练图片。

如果要对训练集的标签进行修改,只需要修改labelImg安装目录下的data/predefined_classes.txt即可。

然后就可以使用labelImg愉快地进行打标了。

参考资料

(13条消息) labelImg 使用教程 图像标定工具_Dontla的博客-CSDN博客_labelimg

(13条消息) LabelImg的安装出现No module named ‘libs.resources’错误_mike_karan的博客-CSDN博客