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

Mediapipe 0.9.1.0加载OpenCV帧触发TypeError问题求助

解决MediaPipe 0.9.1.0中OpenCV帧转mp.Image的TypeError问题

错误原因

OpenCV读取的视频帧默认是BGR通道顺序,而你指定的mp.ImageFormat.SRGB要求输入为RGB通道的数组;另外需确保帧数据类型为uint8(OpenCV默认输出是该类型,但转换通道后需保持)。

修正代码

import mediapipe as mp
import cv2

cap = cv2.VideoCapture("你的视频文件路径")
cap.set(cv2.CAP_PROP_POS_FRAMES, 10)
ret, frame = cap.read()

# 将OpenCV的BGR帧转为RGB格式
rgb_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
# 创建符合要求的MediaPipe Image对象
mp_image = mp.Image(format=mp.ImageFormat.SRGB, data=rgb_frame)

补充说明

官方文档中的示例代码能正常运行,是因为其输入的图像/帧本身就是RGB通道顺序(比如用PIL读取图片),而OpenCV的视频捕获接口默认输出BGR格式,因此必须增加通道转换步骤才能匹配MediaPipe的SRGB格式要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 01:17:13