labelImg安装、设置颜色、打包成exe
本文实现了两个功能:
- 打包的labelImg.exe自动识别同目录的data/predefined_classes.txt,请标注前定义好具体的标签。
- 选择图像目录后,自动复制上述的predefined_classes.txt到图像目录,并重命名为classes.txt,避免了自己拷贝。
需要python3.9,不建议更高版本。
0、创建python3.9环境
conda create --name=labelImg python=3.9 conda activate labelImg
1、安装labelImg
pip install labelimg -i https://pypi.tuna.tsinghua.edu.cn/simple
2、设置颜色

shape.py
DEFAULT_LINE_COLOR = QColor(255, 0, 0, 255) DEFAULT_FILL_COLOR = QColor(0, 0, 0, 0) DEFAULT_SELECT_LINE_COLOR = QColor(255, 0, 0) DEFAULT_SELECT_FILL_COLOR = QColor(255, 0, 0, 0) DEFAULT_VERTEX_FILL_COLOR = QColor(255, 0, 0, 255) DEFAULT_HVERTEX_FILL_COLOR = QColor(255, 100, 100,255)
utils.py,这个可以不改颜色。

打开看下效果,先删除 C:\Users\YourAccount\.labelImgSettings.pkl,重新打开labelImg
2种打开方式:
- 终端里直接输入labelImg,回车
- 如下目录双击labelImg.exe

3、打包exe
安装pyinstaller
pip install pyinstaller
进入目录
cd /d D:\miniconda3\envs\labelImg\Lib\site-packages\labelImg
修改labelImg.py文件,在文件末尾

替换为下述代码
if getattr(sys, 'frozen', False): # 打包环境下使用可执行文件同目录的data/predefined_classes.txt default_class_file = os.path.join(os.path.dirname(sys.executable), "data", "predefined_classes.txt") else: # 开发环境下使用原始路径 default_class_file = os.path.join(os.path.dirname(__file__), "data", "predefined_classes.txt") argparser.add_argument("class_file", default=default_class_file, nargs="?", help="Path to the predefined classes file")

#复制exe同目录的data/predefined_classes.txt到图像目录并重命名为classes.txt,不用自己再拷贝过去了 if getattr(sys, 'frozen', False):# 打包环境下使用可执行文件同目录的data/predefined_classes.txt src_file = os.path.join(os.path.dirname(sys.executable), 'data', 'predefined_classes.txt') else:# 开发环境下使用原始路径 src_file = os.path.join(os.path.dirname(__file__), 'data', 'predefined_classes.txt') dest_file = os.path.join(dir_path, 'classes.txt') shutil.copy2(src_file, dest_file)
打包,--windowed不带小黑窗口
pyinstaller --onefile --windowed labelImg.py
得到的exe可以放到其他地方,使用时请先编辑好data/predefined_classes.txt


浙公网安备 33010602011771号