在进行深度学习时,图片标注一般需要多人分工合作进行,把图片标注工具labelImg打包成直接可执行的文件,直接拷贝到需要使用的电脑上,并统一设置分类类别和名称,将极大提高效率。
LabelImg的 github官网上直接挂载了windows的可执行文件,V1.8.1, 下载后使用体验极其不佳,几乎无法使用。代码已经更新到了v1.8.6,但作者并没有同步更新可执行文件。
网上可找到的一些打包的文件,尤其是需要花银子买到的一个版本,版本是最新的,但时打包成了一个单独的exe文件,无法修改预设的分类名称列表,造成标记工作繁琐而不完美。我第一次使用时甚至自己编了一个程序专门去批量修正标记文件中的分类序号。
因此,本文打包目的是保留源码文件中的data/predefined_classes.txt的可编辑性,另外就是去掉每次执行时弹出的黑色命令窗口。
本文参考文章 LabelImage安装以及打包exe教程,win10+anaconda3-CSDN博客
第一步:下载安装labelImg
严格按照我的上一篇文章操作即可: 图像标注工具LabelImg从安装到使用,并解决闪退问题-CSDN博客
第二步: 安装打包工具
(labelimg) E:\python_dev\labelImg-master>pip install pyinstaller -i https://mirrors.aliyun.com/pypi/simple/
Successfully installed altgraph-0.17.4 importlib-metadata-4.8.3 pefile-2023.2.7 pyinstaller-4.10 pyinstaller-hooks-contrib-2022.0 pywin32-ctypes-0.2.2 typing-extensions-4.1.1 zipp-3.6.0
第三步: 执行打包指令
(labelimg) E:\python_dev\labelImg-master>pyinstaller --hidden-import=pyqt5 --hidden-import=lxml -D labelImg.py -p ./libs -p ./
输出提示中虽然出现了下面的错误提示,但最终打包是成功的
4695 INFO: Analyzing hidden import 'pyqt5'
4697 ERROR: Hidden import 'pyqt5' not found
等待执行完毕后, 在labelImg-master/dist 下面会创建文件夹 labelimg , 将其剪切到其他路径下,并将源码中的labelImg-master/data 目录,复制到labelimg目录下,打开predefined_classes.txt并创建自己的分类名称,即可双击 labelimg.exe 执行。
这个指令是有命令窗口的,
尝试去掉弹出的命令窗口, 在指令最后加参数 -w
(labelimg) E:\python_dev\labelImg-master>pyinstaller --hidden-import=pyqt5 --hidden-import=lxml -D labelImg.py -p ./libs -p ./ -w
执行成功,且没有命令窗口了。
生成的文件内容如下: