图片标注工具LabelImg使用教程[通俗易懂]

图片标注工具LabelImg使用教程[通俗易懂]前言我们知道,图片标注主要是用来创建自己的数据集,方便进行深度学习训练。本篇博客将推荐一款十分好用的图片标注工具LabelImg,重点介绍其安装以及使用的过程。在此感谢原作者在github所做的贡献,这款工具是全图形界面,用Python和Qt写的,最牛的是其标注信息可以直接转化成为XML文件,与PASCALVOC以及ImageNet用的XML是一样的。Ubuntu源码安装由于Ubuntu系统自带p

大家好,又见面了,我是你们的朋友全栈君。

项目地址:LabelImg
下载地址:Windows/Linux
百度云备份:最近几个版本 密码: cnn6

前言

我们知道,图片标注主要是用来创建自己的数据集,方便进行深度学习训练。本篇博客将推荐一款十分好用的图片标注工具LabelImg,重点介绍其安装以及使用的过程。如果想简便,请直接下载打包版本(下载地址见开头),无需编译,直接打开就能用!

在此感谢原作者在Github所做的贡献,博主发现软件一直在更新,各位小伙伴可以关注其最新版本。这款工具是全图形界面,用Python和Qt写的,最牛的是其标注信息可以直接转化成为XML文件,与PASCAL VOC以及ImageNet用的XML是一样的。

PS.作者在5月更新了代码,现在最新的版本号是1.3.0,博主亲测,源代码在Windows 10和Ubuntu 16.04上运行正常。

Ubuntu源码安装

由于Ubuntu系统自带python,这款软件在Ubuntu环境下的安装是最方便的。软件要求python版本在2.6以上,同时需要PyQt和lxml的支持。

Python2+Qt4

sudo apt-get install pyqt4-dev-tools
sudo pip install lxml
make qt4py2
python labelImg.py
python labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE]

Python3+Qt5

sudo apt-get install pyqt5-dev-tools
sudo pip3 install lxml
make qt5py3
python3 labelImg.py
python3 labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE]

下面命令是很久以前的安装方式,应该不适应新的代码了。

$ sudo apt-get install pyqt4-dev-tools # 安装PyQt4
$ sudo pip install lxml # 安装lxml,如果报错,可以试试下面语句
$ sudo apt-get install python-lxml

$ git clone https://github.com/tzutalin/labelImg.git
$ cd labelImg
$ make all
$ ./labelImg.py # 或者 python labelImg.py
# 作者新加的命令模式(应该只适用于最新github代码)
$ ./labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE] 

Ubuntu pip安装

作者最近(2017.05)增添的一种安装方式,使用Python的pip工具安装,感觉更方便了,博主暂未测试。

$ pip install labelImg
$ labelImg
$ labelImg [IMAGE_PATH] [PRE-DEFINED CLASS FILE]

Windows环境下安装

由于Windows不像Linux那样自带Python,所以安装过程要稍微麻烦一些,重点是解决Python的安装问题。Python3环境下的安装作者没有写,结合上述内容,就是Python3+Qt5的组合,因此不能再使用Qt4,如果同时存在两个版本的Qt,会报错。

安装Anaconda 4.2.0

这里选择安装Anaconda,它是一款十分好用的python集成安装环境,主要是方便扩展包管理。具体介绍可参考这篇博客 。首先从官网下载最新的版本,这里我下载的是64位的python2.7版本。然后双击安装,一般点选“for all person”,然后安装到系统默认位置即可。安装成功后建议在环境变量path里面增加一条“C:\Program Files\Anaconda2”
这里写图片描述

这里写图片描述

安装PyQt包

打开命令行窗口,输入conda list ,会列出所有预装的python扩展包,可以看到里面已经有了lxml,但是缺少PyQt。命令行输入conda install pyqt=4 ,等待一会即可完成PyQt4的安装。
这里写图片描述

下载源码并运行

在原作者的github下载源码压缩包,解压可得到名为labelImg-master的文件夹,进入该文件夹,在空白处使用“Shift+鼠标右键”,进入当前目录的命令行窗口,依次输入下面语句即可打开软件。

pyrcc4 -o resources.py resources.qrc
python labelImg.py
python labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE]

这里写图片描述

使用方法

  • 修改默认的XML文件保存位置,使用快捷键“Ctrl+R”,改为自定义位置,这里的路径一定不能包含中文,否则无法保存

  • 源码文件夹中使用notepad++打开data/predefined_classes.txt,修改默认类别,比如改成person、car、motorcycle三个类别。

  • “Open Dir”打开图片文件夹,选择第一张图片开始进行标注,使用“Create RectBox”或者“Ctrl+N”开始画框,单击结束画框,再双击选择类别。完成一张图片后点击“Save”保存,此时XML文件已经保存到本地了。点击“Next Image”转到下一张图片。

  • 标注过程中可随时返回进行修改,后保存的文件会覆盖之前的。

  • 完成标注后打开XML文件,发现确实和PASCAL VOC所用格式一样。

这里写图片描述

这里写图片描述

后续说明

  • 原作者也发布了打包好的软件,包括Windows和Linux平台,无需编译,可以直接运行,不愿意折腾的朋友可以使用这个版本,直接下载最新的版本即可(目前是1.3.2)。LabelImg打包版本 (PS.Linux版本如果提示权限问题,可加sudo)

  • 最近有人运行Github的源码版本时,总是遇到各种错误(参见评论区),个人感觉是作者的更新出了问题,这里提供一份之前版本的源码,亲测可用,LabelImg可运行版(源码)。使用方法:解压后,执行./labelimg.py 命令。

  • 官方下载地址可能被墙,提供1.3.0打包版本(之后的版本暂未测试):百度云


其他同类标注工具(Github):
Yolo_mark
BBox-Label-Tool
ImageLabel

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/148323.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python-根据语音识别让无字幕视频自动生成字幕,附srt字幕文件

    python-根据语音识别让无字幕视频自动生成字幕,附srt字幕文件

    2021年5月17日
    311
  • sql语句根据某个字段去重_根据两个字段去重

    sql语句根据某个字段去重_根据两个字段去重deletefromaop_app_ipmlinfoawherea.impl_idnotin(selectmax(t.impl_id)cfromaop_app_ipmlinfotgroupbyt.app_id,t.ability_id)ps:max(t.impl_id)也能替换为min(t.impl_id)

    2025年6月19日
    3
  • TypeError: argument of type ‘int‘ is not iterable「建议收藏」

    TypeError: argument of type ‘int‘ is not iterable「建议收藏」TypeError:argumentoftype’int’isnotiterableTraceback(mostrecentcalllast):File"C:/Users/lenovo/PycharmProjects/DoubleU/TestCase/test.py",line131,in<module>Select(driver.find_…

    2025年6月29日
    2
  • html a标签跳转_点击a标签不进行跳转

    html a标签跳转_点击a标签不进行跳转如果a标签的”href”属性为空的话,当点击修改链接时并不会跳到对应页面,而是只在本页面进行了刷新操作。1<ahref=”JavaScript:js_method();”</a>这种方法地址也不发生跳转,在传递this等参数的时候很容易出问题;而且javascript作为a的href属性的时候会导致不必要的触发window.onbeforeunload事件,在IE里面更会使gif动画图片停止播放。W3C标准不推荐在href里面执行javascript..

    2022年8月12日
    9
  • 再见PowerDesigner,这款国人开源的数据库设计工具Chiner真香

    再见PowerDesigner,这款国人开源的数据库设计工具Chiner真香再见PowerDesigner,这款国人开源的数据库设计工具Chiner真香当我们在项目开发初期时,往往需要设计大量的表,此时使用数据库设计工具就会比较高效!今天给大家推荐一款国人开源的数据库设计工具chiner,界面漂亮,功能强大,希望对大家有所帮助!回顾PowerDesigner相信平时工作中,大家或多或少会使用PowerDesigner来设计数据库,感觉这款工具界面有点古老,界面看着就具年代感,有时候用起来也比较重,来看下之前使用它设计数据库的效果。最近体验了一把chiner,设计数据库

    2022年7月27日
    9
  • 双向链表排序[通俗易懂]

    双向链表排序[通俗易懂]双向链表的结构体,包括一个前驱节点的指针、一个后继节点的指针以及一个存储数据的data域,initList函数初始化单节点的双链表,addList函数采用头插入方法添加一个节点到双链表中,sort函数实现了对双链表的排序,采用头插入方式建成的双链表的头结点(存储65535的那个节点)必然在末尾(其实双链表没有首尾之说,只是把它当作末尾),排序的时候,1.首先从该节点处,每次查找前驱节点,并记录da…

    2022年10月11日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号