LabelImg教程[通俗易懂]

LabelImg教程[通俗易懂]目标检测中,原始图片的标注过程是非常重要的,它的作用是在原始图像中标注目标物体位置并对每张图片生成相应的xml文件表示目标标准框的位置。本文介绍一款使用方便且能够标注多类别并能直接生成xml文件的标注工具——labelImg工具,并对其使用方法做一个介绍。本文仅针对ubuntu系统做使用介绍。1、下载LabelImg方式1:网址:https://github.com/tzu…

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

      目标检测中,原始图片的标注过程是非常重要的,它的作用是在原始图像中标注目标物体位置并对每张图片生成相应的xml文件表示目标标准框的位置。本文介绍一款使用方便且能够标注多类别并能直接生成xml文件的标注工具——labelImg工具,并对其使用方法做一个介绍。

本文仅针对ubuntu系统做使用介绍。

1、下载LabelImg

方式1:网址:https://github.com/tzutalin/labelImg 直接下载,下载后将labelImg-master.zip移动至home主文件夹下解压,得到LabelImg-master文件。

方式2:使用git命令

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

下载后是自动在home目录下解压好的,文件名为LabelImg,里面的内容同上图。

2、安装(Python2+pyqt4)

# 安装PyQt4

    $ sudo apt-get install pyqt4-dev-tools

# 安装lxml,如果没有安装pip的话,运行(sudo apt-get install python-pip)

    $ sudo -H pip install lxml

3、编译LabelImg

然后打开终端,进入labelImg-master目录后使用make编译

    cd LabelImg

    sudo make all     (或者使用指令: sudo make qt4py2)

附:如果是使用(python3+pyqt5),请先进入labelImg-master目录,然后上述步骤2,3使用如下指令:

#安装(Python2+pyqt4)

sudo apt-get install pyqt5-dev-tools

#如果没有安装pip3的话,运行(sudo apt-get install python-pip3)

sudo pip3 install -r requirements/requirements-linux-python3.txt

#编译LabelImg

sudo make qt5py3

 

4、使用

在labelImg-master目录下使用终端执行

python labelImg.py

运行界面如下图

Demo Image

LabelImg教程[通俗易懂]

 

5、快捷键

Ctrl + u  加载目录中的所有图像,鼠标点击Open dir同功能

Ctrl + r  更改默认注释目标目录(xml文件保存的地址)

Ctrl + s  保存

Ctrl + d  复制当前标签和矩形框

space     将当前图像标记为已验证

w         创建一个矩形框

d         下一张图片

a         上一张图片

del       删除选定的矩形框

Ctrl++    放大

Ctrl–    缩小

↑→↓←        键盘箭头移动选定的矩形框

 

6、具体事项

想要修改图2中的标签类别内容(如默认的dog、person、cat等)则在主目录下data文件夹中的predefined_classes.txt文件中修改。

使用时,使用ctrl+u快捷键加载图片后,使用ctrl+r快捷键指定生成的xml文件的保存位置,然后开始按照类别将图片中的目标进行矩形框标注,每标注一个目标后软件自动弹出类别信息以供选择,在弹出的类别信息中选择对应的类别名称双击即可。当一张图片中各个类别所需要标注的目标全部标注后,点击保存按键或者使用ctrl+s快捷键保存就生成了相对应的xml位置信息文件,此时可以开始下一张图片的标注。

 

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

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

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


相关推荐

  • java分割String字符串成list

    java分割String字符串成list示例:Stringsn=“1234,567,8910”;List<String>snList=Arrays.asList(sn.split(“,”));

    2022年6月21日
  • 搭建Eurake服务「建议收藏」

    搭建Eurake服务「建议收藏」Eureka注册中心Eureka的作用消费者该如何获取服务提供者具体信息?服务提供者启动时向eureka注册自己的信息eureka保存这些信息消费者根据服务名称向eureka拉取提供者信息如果有多个服务提供者,消费者该如何选择?服务消费者利用负载均衡算法,从服务列表中挑选一个消费者如何感知服务提供者健康状态?服务提供者会每隔30秒向EurekaServer发送心跳请求,报告健康状eureka会更新记录服务列表信息,心跳不正常会被剔除消费者就可以拉取到最新的信息

    2022年6月1日
  • 数据类型转换的类是Convert_c++类型转换

    数据类型转换的类是Convert_c++类型转换C#数据类型和类型转换Convert.ToInt16与Convert.ToInt32区别版权声明:本文由 群燕小站 原创,转载请注明【转自:群燕小站(http://www.zqunyan.com);原文链接: http://www.zqunyan.com/79.html】取值的范围不同:int16:-32768到32767 int32:-2,147,483,648到2…

    2022年8月15日
  • SpringBoot2.0.4整合elasticsearch为5.6.10

    网上找了很一些,很多跑不起来,可能是我的环境和介绍的环境不一样,自己搞一个! 环境说明:spring boot 使用2.0.4elasticsearch为5.6.10本地安装ES集群为 6.x版本第一步使用IDEA创建Spring boot web项目,使用spring boot 使用2.0.4版本, elasticsearch为5.6.10 &amp;amp;lt;parent…

    2022年2月27日
  • gcc命令的常用选项_curl常用命令及参数

    gcc命令的常用选项_curl常用命令及参数gcc是GUNC和C++编译器,我们通常使用GCC时,编译器会依次做如下工作:preprocess(预处理),compilation(编译),assembly(汇编),link(链接)。gcc提供了一些选项参数能够让编译器停在某个过程(如编译过程)。

    2022年10月13日
  • vim常用命令总结[通俗易懂]

    vim常用命令总结[通俗易懂]先说明下,本文参考:https://www.cnblogs.com/yangjig/p/6014198.html总结的很好,话不多说,先上图在命令状态下对当前行用==(连按=两次),或对多行用

    2022年7月2日

发表回复

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

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