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文件,在文件末尾

image

 替换为下述代码

    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")

image

        #复制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

posted @ 2025-07-24 12:32  夕西行  阅读(309)  评论(0)    收藏  举报