鱼C论坛

 找回密码
 立即注册
查看: 87|回复: 2

python打包exe解决了mediapipe现在显示报错cvzon有问题???

[复制链接]
发表于 5 天前 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
python打包exe解决了mediapipe现在显示报错cvzon有问题???

现在显示报错这个

C:\Users\Administrator>C:\Users\Administrator\Downloads\dist\22\22.exe
Traceback (most recent call last):
  File "2.py", line 41, in <module>
  File "cvzone\HandTrackingModule.py", line 54, in findHands
cv2.error: OpenCV(4.11.0) D:\a\opencv-python\opencv-python\opencv\modules\imgproc\src\color.cpp:199: error: (-215:Assertion failed) !_src.empty() in function 'cv::cvtColor'

INFO: Created TensorFlow Lite XNNPACK delegate for CPU.
WARNING: All log messages before absl::InitializeLog() is called are written to STDERR
W0000 00:00:1747273608.605678   47492 inference_feedback_manager.cc:114] Feedback manager requires a model with a single signature inference. Disabling support for feedback tensors.
W0000 00:00:1747273608.636043   47492 inference_feedback_manager.cc:114] Feedback manager requires a model with a single signature inference. Disabling support for feedback tensors.



这个是前面的解决过程!!!
求助这个怎么详细操作
https://fishc.com.cn/thread-250368-1-1.html
(出处: 鱼C论坛)
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 5 天前 | 显示全部楼层
解决MediaPipe打包后cvzone报错的综合方案

根据错误信息,这是典型的资源路径问题和OpenCV摄像头访问异常。建议按以下步骤解决:

  • 添加资源文件打包
    打包命令需要包含mediapipe模型文件和cvzone依赖:

    1. pyinstaller --add-data "venv/Lib/site-packages/mediapipe/modules/*;mediapipe/modules" \
    2.             --add-data "venv/Lib/site-packages/cvzone/*;cvzone" \
    3.             --hidden-import google.protobuf \
    4.             your_script.py
    复制代码

  • 代码路径适配
    在代码开头添加资源路径处理(以HandTrackingModule为例):

    1. import sys
    2. import os

    3. if getattr(sys, 'frozen', False):
    4.     BASE_PATH = sys._MEIPASS
    5. else:
    6.     BASE_PATH = os.path.dirname(os.path.abspath(__file__))

    7. detector = HandDetector(
    8.     staticMode=False,
    9.     maxHands=2,
    10.     modelPath=os.path.join(BASE_PATH, "mediapipe/modules/hand_landmark_full.tflite")
    11. )
    复制代码

  • 强制OpenCV版本
    在requirements.txt中固定版本:
    opencv-python-headless==4.9.0.80
    mediapipe==0.10.11
  • 添加摄像头异常处理
    在摄像头读取代码段添加保护:

    1. cap = cv2.VideoCapture(0)
    2. if not cap.isOpened():
    3.     print("[b][color=#FF0000]摄像头访问失败!请检查:[/color][/b]")
    4.     print("[list][*]摄像头是否被其他程序占用[*]是否连接了虚拟摄像头[*]杀毒软件是否拦截[/list]")
    5.     sys.exit(1)
    复制代码



验证步骤:
1. 在虚拟环境中测试脚本运行
2. 清理旧的打包文件:rmdir /s /q build dist
3. 使用新参数重新打包
4. 检查dist目录是否包含mediapipe/modules文件夹

常见踩坑点:
  • 使用绝对路径而不是相对路径
  • 未清理旧打包缓存导致配置未更新
  • 杀毒软件拦截摄像头访问(特别是企业版火绒/360)
  • 未禁用虚拟摄像头(OBS Virtual Camera等)


如需进一步调试,可以在代码开头添加:

  1. import logging
  2. logging.basicConfig(level=logging.DEBUG)
复制代码


以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 5 天前 | 显示全部楼层
FishC 发表于 2025-5-15 09:49
解决MediaPipe打包后cvzone报错的综合方案

根据错误信息,这是典型的资源路径问题和OpenCV摄像头访问异 ...

原来是我忘了,连接摄像头了,,现在点exe文件可以运行出来了,那我后面想把这个移动到别的电脑使用,要怎么操作,需要哪些一起打包呢
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-20 19:52

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表