图像标注工具LabelImg从安装到使用,并解决闪退问题

图像标注工具labelImg和labelme是最常用的两个。而在使用过程中labelimg可以直接生成yolo格式,且为中文页面,而labelme目前还不行。虽然稳定性和功能上labelme有优势,但从方便性考虑,还是首选labelimg。

github上labelimg主页中也挂了windows的可执行文件,但版本是1.8.1,使用时非常不稳定,几乎不可使用,网上也有打包成一个单独exe文件的下载,但由于预设的分类无法更改,造成标注后自己设置的分类名称不是从0开始,标注时还要在10几个预设类中下拉到最下面选择自己设定的分类名称,非常不方便。

自己动手,一切都有。在此详细记录整个过程。嫌麻烦,下个文章直接贴打包生成的exe文件包,亲测可用。

文章最后一部分是使用labelimg过程中的一些注意事项,主要是闪退问题的解决。

参考文章 LabelImage安装以及打包exe教程,win10+anaconda3-CSDN博客 

一、Conda新建虚拟环境

在开始中输入 anaconda,打开conda命令窗口

下面都在conda命令窗口中操作
退出当前虚拟环境
E:\>conda deactivate
用下面这条指令在特定的路径中创建新的虚拟环境
conda create --prefix /path/to/environment_name
其中,/path/to/environment_name是你想要创建环境的目录和环境名称。请将其替换为实际的目录和名称。
E:\>conda create --prefix=E:\python_dev\envs\labelimg python=3.6
其中 python_dev\envs 是提前创建好的文件夹, labelimg 是虚拟环境名称
执行结束后提示成功:
    done
To activate this environment, use
$ conda activate E:\python_dev\envs\labelimg
To deactivate an active environment, use
$ conda deactivate


激活并进入环境labelimg
E:\>conda activate E:\python_dev\envs\labelimg
     (labelimg) E:>cd python_dev\envs\labelimg
 

二、安装依赖包

下载并安装PyQt5(使用镜像)

(labelimg) E:\python_dev\envs\labelimg>pip install PyQt5 -i https://pypi.douban.com/simple

  Installing collected packages: PyQt5-sip, PyQt5-Qt5, PyQt5
Successfully installed PyQt5-5.15.6 PyQt5-Qt5-5.15.2 PyQt5-sip-12.9.1

 其他镜像地址:

阿里镜像 -i https://mirrors.aliyun.com/pypi/simple/
清华镜像 -i https://mirrors.aliyun.com/pypi/simple/

安装PyQt5_tools库
(labelimg) E:>pip install pyqt5-tools -i https://pypi.douban.com/simple

安装lxml库
pip install lxml

三、下载安装运行labelimg

因为后面要为后面打包生成exe文件准备,故本文采用直接下载源代码的方式。 不需打包可以使用conda或pip直接安装运行。

在github上下载了labelimg源代码并解压到本地,

下载地址  https://github.com/HumanSignal/labelImg

github无法访问,可使用国内镜像地址https://hub.fgit.cf/HumanSignal/labelImg


(labelimg) E:>cd python_dev\labelimg-master

尝试运行
(labelimg) E:\python_dev\labelImg-master>python labelimg.py
-------------
Traceback (most recent call last):
File "labelimg.py", line 29, in <module>
from libs.resources import *
ModuleNotFoundError: No module named 'libs.resources'

会报错 , 解决方法:将 labelImg-master 文件夹下面的 resources.py 复制到libs文件夹下面,就可解决报错问题。参考  https://blog.csdn.net/qq_44191346/article/details/131961138
是拷贝的,不是剪切的,在执行下面语句
(labelimg) E:\python_dev\labelImg-master>pyrcc5 -o resources.py resources.qrc
(labelimg) E:\python_dev\labelImg-master>python labelimg.py
成功运行了 labelimg  版本是 1.8.6 , 而在github上发布的exe文件版本是 1.8.1

四、LabelImg使用中遇到的问题

1. 预设分类名称: 在文件  data/predefined_classes.txt 中设置即可,一行一个,在标记文件中编码数字从0开始

2.  闪退问题: 当首次标注一个图片库时,会自动在图片库文件夹中创建一个  classes.txt文件,初始内容取自predefined_classes.txt, 标记过程中临时添加的标记也会被写到该文件。 但当打开一个新文件夹时,如果predefined_classes.txt 和 classes.txt的文件内容有冲突,比如同一个类的序号不同,就会闪退。解决防范就是保证两个文件内容一致。如果图片库需要多次标记,注意每次都要检查下classes.txt的内容,保证包含之前的标记类别以及排序保持前后一致。

3. 标记生成的文件

选择生成格式为yolo时,生成的txt标记文件,是一行一个标记。但当用记事本打开时,会看到多个标记数据都写在了一行,并没有换行,这是因为记事本默认编码不是utf-8.   用支持utf-8的编辑器打开即可看到是一行一个标记数据。

以上为安装和使用labelimg的过程, 下篇文章将用pyinstaller工具打包生成可执行exe文件。 

  • 21
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值