LabelImg图像标注工具全面指南
什么是LabelImg
LabelImg是一款基于Python和Qt开发的图像标注工具,主要用于计算机视觉领域的图像标注工作。它能够帮助研究人员和开发者快速为图像中的对象创建边界框标注,支持多种常见的标注格式输出。
核心功能特点
- 多格式支持:可导出PASCAL VOC、YOLO和CreateML三种主流标注格式
- 跨平台运行:支持Windows、Linux和macOS操作系统
- 高效标注:提供丰富的快捷键操作,大幅提升标注效率
- 自定义类别:允许用户预先定义标注类别,简化标注过程
- 批量处理:支持批量加载和标注目录中的多张图像
安装指南
Linux/Ubuntu系统安装
对于Ubuntu用户,推荐使用Python 3环境:
sudo apt-get install pyqt5-dev-tools
sudo pip3 install -r requirements/requirements-linux-python3.txt
make qt5py3
python3 labelImg.py
macOS系统安装
macOS用户可以使用Homebrew安装依赖:
brew install qt libxml2
pip3 install pyqt5 lxml
make qt5py3
python3 labelImg.py
或者使用Python虚拟环境(推荐):
brew install python3
pip3 install pipenv
pipenv run pip install pyqt5==5.15.2 lxml
pipenv run make qt5py3
pipenv run python3 labelImg.py
Windows系统安装
Windows用户需要先安装Python和PyQt5:
- 安装Python 3.x
- 安装PyQt5和lxml库
- 执行以下命令:
pyrcc5 -o libs/resources.py resources.qrc
python labelImg.py
使用Docker运行
对于熟悉Docker的用户,可以使用预构建的镜像:
docker run -it \
--user $(id -u) \
-e DISPLAY=unix$DISPLAY \
--workdir=$(pwd) \
--volume="/home/$USER:/home/$USER" \
--volume="/etc/group:/etc/group:ro" \
--volume="/etc/passwd:/etc/passwd:ro" \
--volume="/etc/security:/etc/security:ro" \
--volume="/etc/sudoers.d:/etc/sudoers.d:ro" \
-v /tmp/.X11-unix:/tmp/.X11-unix \
tzutalin/py2qt4
make qt4py2;./labelImg.py
使用教程
准备工作
在开始标注前,建议先编辑data/predefined_classes.txt
文件,预先定义好需要标注的类别名称,每行一个类别。这样在标注时可以直接从列表中选择,避免重复输入。
基本操作流程
- 启动LabelImg
- 使用"Open Dir"按钮或Ctrl+U快捷键打开包含图像的目录
- 使用"Change Save Dir"或Ctrl+R设置标注文件保存位置
- 使用W键或工具栏上的"Create RectBox"按钮创建标注框
- 选择对应的类别标签
- 使用Ctrl+S保存当前标注
高级使用技巧
- 批量标注:使用D键和A键快速在图像间导航
- 标注复制:使用Ctrl+D复制当前选中的标注框
- 图像标记:使用空格键标记当前图像为已标注状态
- 快速删除:使用Delete键删除选中的标注框
快捷键大全
| 快捷键 | 功能描述 | |-------------------|----------------------------| | Ctrl + u | 从目录加载所有图像 | | Ctrl + r | 更改标注保存目录 | | Ctrl + s | 保存当前标注 | | Ctrl + d | 复制当前选中的标注框 | | Ctrl + Shift + d | 删除当前图像 | | Space | 标记当前图像为已标注 | | w | 创建新的标注框 | | d | 切换到下一张图像 | | a | 切换到上一张图像 | | del | 删除选中的标注框 | | Ctrl++ | 放大图像 | | Ctrl-- | 缩小图像 | | 方向键 | 微调选中标注框的位置 |
常见问题解答
Q: 标注文件保存在哪里? A: 标注文件默认保存在与图像相同的目录下,也可以通过Ctrl+R更改保存位置。
Q: 如何切换标注格式? A: 在保存标注前,可以在界面下方选择PASCAL VOC、YOLO或CreateML格式。
Q: 标注过程中程序崩溃了怎么办? A: LabelImg会定期自动保存进度,重新启动程序后通常会恢复大部分工作。
Q: 能否调整标注框的透明度? A: 目前版本不支持直接调整透明度,但可以通过修改源代码实现这一功能。
最佳实践建议
- 对于大型标注项目,建议先定义完整的类别列表
- 定期使用不同的快捷键保存工作进度
- 对于相似图像,使用复制标注功能提高效率
- 利用图像标记功能跟踪标注进度
- 考虑使用Docker容器保持环境一致性
LabelImg作为一款开源图像标注工具,以其简单易用和功能完善的特点,成为计算机视觉研究者和开发者的常用工具之一。通过掌握其各项功能和快捷键,可以显著提升图像标注的效率和质量。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考