You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Mediapipe视线追踪无输出无报错问题求解

解决MediaPipe视线追踪在Colab无输出的问题

核心排查与修复步骤

1. 视频源/摄像头权限问题

Colab无法直接调用本地摄像头,原代码若默认使用cv2.VideoCapture(0)会无输入,自然没有输出。

  • 优先用本地图片/视频上传测试,避免摄像头依赖:
    from google.colab import files
    from google.colab.patches import cv2_imshow
    import cv2
    
    # 上传本地测试图片
    uploaded = files.upload()
    for filename in uploaded.keys():
        img = cv2.imread(filename)
        # 插入你的视线追踪处理逻辑
        cv2_imshow(img)
    

2. MediaPipe版本与初始化检查

  • 安装稳定版MediaPipe,避免版本兼容问题:
    !pip install mediapipe==0.10.10
    
  • 确保FaceMesh初始化时开启虹膜关键点识别(必须开启才能做视线追踪):
    import mediapipe as mp
    mp_face_mesh = mp.solutions.face_mesh
    face_mesh = mp_face_mesh.FaceMesh(
        max_num_faces=1,
        refine_landmarks=True,  # 此参数为虹膜追踪必需
        min_detection_confidence=0.5,
        min_tracking_confidence=0.5)
    

3. 输出显示逻辑修正

Colab不支持cv2.imshow(),必须替换为google.colab.patches.cv2_imshow,否则处理后的图像无法显示:

  • 替换代码中所有cv2.imshow()为cv2_imshow(),同时删除cv2.waitKey()和cv2.destroyAllWindows()(这两个在Colab中无效)。

4. 图像格式适配

MediaPipe模型要求输入为RGB格式,而OpenCV读取的图像是BGR,必须转换:

img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
results = face_mesh.process(img_rgb)

快速验证代码

运行以下代码,确认MediaPipe能正常检测虹膜关键点:

import mediapipe as mp
from google.colab.patches import cv2_imshow
import cv2
from google.colab import files

mp_face_mesh = mp.solutions.face_mesh
face_mesh = mp_face_mesh.FaceMesh(refine_landmarks=True)

# 上传测试图片
uploaded = files.upload()
img = cv2.imread(next(iter(uploaded.keys())))
img_rgb = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
results = face_mesh.process(img_rgb)

if results.multi_face_landmarks:
    for face_landmarks in results.multi_face_landmarks:
        # 绘制虹膜关键点(左眼468-477,右眼478-487)
        for idx in range(468, 488):
            landmark = face_landmarks.landmark[idx]
            h, w, _ = img.shape
            x, y = int(landmark.x * w), int(landmark.y * h)
            cv2.circle(img, (x, y), 2, (0, 255, 0), -1)
cv2_imshow(img)

如果能看到绿色的虹膜关键点,说明模型正常,问题出在原代码的视频源或显示逻辑。

内容的提问来源于stack exchange,提问作者flyer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 01:02:42