Skip to main content

LabelImg 是一个图形图像标注工具,在图像中标注对象边界框

项目描述

标签图片

https://img.shields.io/pypi/v/labelimg.svg https://img.shields.io/travis/tzutalin/labelImg.svg https://img.shields.io/badge/lang-en-blue.svg https://img.shields.io/badge/lang-zh-green.svg https://img.shields.io/badge/lang-zh--TW-green.svg

LabelImg 是一个图形图像标注工具。

它是用 Python 编写的,并使用 Qt 作为其图形界面。

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

演示图片 演示图片

观看演示视频

安装

从 PyPI 获取但只有 python3.0 或以上

这是现代 Linux 发行版(如 Ubuntu 和 Fedora)上最简单的(单命令)安装方法。

pip3 install labelImg
labelImg
labelImg [IMAGE_PATH] [PRE-DEFINED CLASS FILE]

从源代码构建

Linux/Ubuntu/Mac 至少需要Python 2.6并且已经使用PyQt 4.8进行了测试。但是,强烈建议使用Python 3 或更高版本和 PyQt5 。

Ubuntu Linux

Python 3 + Qt5

sudo apt-get install pyqt5-dev-tools
sudo pip3 install -r requirements/requirements-linux-python3.txt
make qt5py3
python3 labelImg.py
python3 labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE]
苹果系统

Python 3 + Qt5

brew install qt  # Install qt-5.x.x by Homebrew
brew install libxml2

or using pip

pip3 install pyqt5 lxml # Install qt and lxml by pip

make qt5py3
python3 labelImg.py
python3 labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE]

Python 3 Virtualenv(推荐)

Virtualenv 可以避免很多 QT/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
[Optional] rm -rf build dist; python setup.py py2app -A;mv "dist/labelImg.app" /Applications

注意:Last 命令为您提供了一个漂亮的 .app 文件,其中包含 /Applications 文件夹中的新 SVG 图标。可以考虑使用脚本:build-tools/build-for-macos.sh

视窗

安装PythonPyQt5安装 lxml

打开cmd进入labelImg目录

pyrcc4 -o libs/resources.py resources.qrc
For pyqt5, pyrcc5 -o libs/resources.py resources.qrc

python labelImg.py
python labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE]
Windows + 蟒蛇

下载并安装Anaconda (Python 3+)

打开Anaconda Prompt,进入labelImg目录

conda install pyqt=5
conda install -c anaconda lxml
pyrcc5 -o libs/resources.py resources.qrc
python labelImg.py
python labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE]

使用 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/shadow:/etc/shadow:ro" \
--volume="/etc/sudoers.d:/etc/sudoers.d:ro" \
-v /tmp/.X11-unix:/tmp/.X11-unix \
tzutalin/py2qt4

make qt4py2;./labelImg.py

您可以拉取具有所有已安装和所需依赖项的映像。观看演示视频

用法

步骤 (PascalVOC)

  1. 使用上述说明构建和启动。

  2. 单击菜单/文件中的“更改默认保存的注释文件夹”

  3. 点击“打开目录”

  4. 单击“创建矩形框”

  5. 单击并释放鼠标左键选择一个区域来注释矩形框

  6. 您可以使用鼠标右键拖动矩形框来复制或移动它

注释将保存到您指定的文件夹中。

您可以参考以下热键来加快您的工作流程。

步骤 (YOLO)

  1. data/predefined_classes.txt中定义将用于训练的类列表。

  2. 使用上述说明构建和启动。

  3. 在工具栏中“保存”按钮的正下方,单击“PascalVOC”按钮切换到 YOLO 格式。

  4. 您可以使用 Open/OpenDIR 处理单个或多个图像。完成单个图像后,单击保存。

YOLO 格式的 txt 文件将与您的图像同名保存在同一文件夹中。一个名为“classes.txt”的文件也保存到该文件夹​​中。“classes.txt”定义了你的 YOLO 标签所引用的类名列表。

笔记:

  • 您的标签列表在处理图像列表的过程中不应更改。保存图像时,classes.txt 也会更新,而之前的注释不会更新。

  • 保存为 YOLO 格式时不要使用“默认类”功能,它不会被引用。

  • 当保存为 YOLO 格式时,“困难”标志被丢弃。

创建预定义的类

您可以编辑 data/predefined_classes.txt 以加载预定义的类

热键

Ctrl + 你

从目录加载所有图像

Ctrl + r

更改默认注释目标目录

Ctrl + 小号

节省

Ctrl + d

复制当前标签和矩形框

Ctrl + Shift + d

删除当前图像

空间

将当前图像标记为已验证

w

创建一个矩形框

d

下一张图片

一个

上一张图片

德尔

删除选中的矩形框

Ctrl++

放大

Ctrl–

缩小

↑→↓←

键盘箭头移动选定的矩形框

验证图像:

当按下空格时,用户可以将图像标记为已验证,将出现绿色背景。这在自动创建数据集时使用,然后用户可以浏览所有图片并标记它们而不是注释它们。

难的:

困难字段设置为 1 表示该对象已被注释为“困难”,例如,一个清晰可见但在没有大量使用上下文的情况下难以识别的对象。根据您的深度神经网络实现,您可以在训练期间包含或排除困难的对象。

如何重置设置

如果加载类时出现问题,您可以:

  1. 从 labelimg 的顶部菜单中单击 Menu/File/Reset All

  2. 从您的主目录中删除.labelImgSettings.pkl 。在 Linux 和 Mac 中,您可以执行以下操作:

    rm ~/.labelImgSettings.pkl

如何贡献

发送拉取请求

执照

免费软件:麻省理工学院许可证

引文:祖塔林。标签图片。Git 代码(2015 年)。https://github.com/tzutalin/labelImg

随时间推移的观星者

https://starchart.cc/tzutalin/labelImg.svg

历史

1.8.6 (2021-10-10)

  • 显示框宽高

1.8.5 (2021-04-11)

  • 合并了几个 PR

  • 已修复的问题

  • 支持 CreateML 格式

1.8.4 (2020-11-04)

  • 合并了几个 PR

  • 已修复的问题

1.8.2 (2018-12-02)

  • 修复点子分解问题

1.8.1 (2018-12-02)

  • 解决问题

  • 支持 zh-Tw 字符串

1.8.0 (2018-10-21)

  • 支持绘制方形矩形

  • 添加项目单击槽

  • 解决问题

1.7.0 (2018-05-18)

  • 支持YOLO

  • 修复小问题

1.6.1 (2018-04-17)

  • 修复问题

1.6.0 (2018-01-29)

  • 添加更多预定义标签

  • 在状态栏中显示光标姿势

  • 修复小问题

1.5.2 (2017-10-24)

  • 为不同的标签分配不同的颜色

1.5.1 (2017-9-27)

  • 显示自动保存对话框

1.5.0 (2017-9-14)

  • 修复问题

  • 添加功能:更容易画一个盒子

1.4.3 (2017-08-09)

  • 重构设置

  • 修复问题

1.4.0 (2017-07-07)

  • 添加功能:自动保存

  • 新增功能:单课模式

  • 修复问题

1.3.4 (2017-07-07)

  • 修复问题并改进放大

1.3.3 (2017-05-31)

  • 解决问题

1.3.2 (2017-05-18)

  • 解决问题

1.3.1 (2017-05-11)

  • 解决问题

1.3.0 (2017-04-22)

  • 解决问题

  • 添加困难标签

  • 为 pypi 创建新文件

1.2.3 (2017-04-22)

  • 解决问题

1.2.2 (2017-01-09)

  • 解决问题

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

labelImg-1.8.6.tar.gz (247.7 kB 查看哈希

已上传 source