ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

MediaPipe 手部关键点检测实战:21 个关键点、2 只手、30 秒跑通摄像头 Demo

2026/9/2 11:53:15 拓冰建站 浏览量
MediaPipe 手部关键点检测实战:21 个关键点、2 只手、30 秒跑通摄像头 Demo MediaPipe 手部关键点检测实战21 个关键点、2 只手、30 秒跑通摄像头 Demo【免费下载链接】mediapipeCross-platform, customizable ML solutions for live and streaming media.项目地址: https://gitcode.com/GitHub_Trending/med/mediapipeMediaPipe Hands 是 MediaPipe 项目里的跨平台手部关键点检测工具每只手输出 21 个 3D 关键点并附带左右手判定手机端也能实时跑。这篇入门指南带你 30 秒内跑通一个摄像头 Demo再讲清每个参数该怎么调。能力速览它是什么能给你什么维度内容它是什么基于 MediaPipe 图计算的 ML 方案输入一张 RGB 图输出手部骨架核心输出每只手 21 个归一化 3D 关键点x、y 在 0–1 之间z 表示相对深度真实世界的米制坐标原点在手的几何中心左右手标签与置信度关键指标单只手 21 点默认最多同时 2 只手模型复杂度 0/1 两档可选运行平台Python、JavaScript、Android、iOS另有 C/C APIpip install mediapipe即可上面这张手势图就是典型的手势识别入门素材手部清晰、背景简单正好适合拿来验证检测效果。最快上手步骤安装 20 行代码看效果装环境只需要一条命令pip install mediapipe然后保存下面这段脚本运行就能看到效果import cv2 import mediapipe as mp mp_hands mp.solutions.hands hands mp_hands.Hands(max_num_hands2, model_complexity1) cap cv2.VideoCapture(0) while cap.isOpened(): ok, frame cap.read() if not ok: break rgb cv2.cvtColor(frame, cv2.COLOR_BGR2RGB) res hands.process(rgb) if res.multi_hand_landmarks: for lm in res.multi_hand_landmarks: mp.solutions.drawing_utils.draw_landmarks( frame, lm, mp_hands.HAND_CONNECTIONS) cv2.imshow(MediaPipe Hands, frame) if cv2.waitKey(5) 0xFF 27: break cap.release()窗口里每只手会画出 21 个点加连线骨架按 ESC 退出没有手时画面保持原样。参数调优手册五个核心配置逐项看参数作用建议值说明static_image_mode按视频流还是静态图处理视频流False处理零散图片改True默认False。True时每帧都走完整检测不做帧间跟踪max_num_hands同屏最多追踪几只手2默认 2够覆盖双手操作调大会增加计算量model_complexity关键点模型档位0或1移动端0桌面1默认1。档位越高精度和延迟一起上升min_detection_confidence手掌检测模型的最低置信度0.5检测阶段用范围 0–1太高会漏检min_tracking_confidence关键点跟踪的最低置信度0.5低于它会自动重新检测静态图像模式下无效进阶要点视频流模式为什么快默认的视频流模式只在一开始跑一次手掌检测之后每一帧都直接拿上一帧的 21 个关键点生成裁剪区域只跑关键点模型跳过手掌检测。只有当跟踪置信度跌破min_tracking_confidence、判定跟丢了才重新调用手掌检测重新定位。这套能跟就不检的策略正是它能在手机上保持实时帧率的核心原因。场景与避坑清单常见用法一行一个AR 手势交互虚拟试戴、空中点选手势控制智能家居、游戏输入的隔空操作手语翻译把关键点序列喂给分类模型姿态数据集构建批量抽取手部坐标做下游训练跑 Demo 时最常踩的三个坑输入必须是 RGB。OpenCV 读出来是 BGR不转换就cvtColor一下否则关键点飘、颜色怪。电脑同时插着摄像头和采集卡时VideoCapture(0)不一定拿得到你想要的那路换1试试。手总是检测不到大概率是置信度阈值开太高先把两个阈值降到 0.3–0.4 确认链路通了再调回去。写在最后装好包、贴进 20 行代码21 个 3D 关键点、双手同屏和左右手判定就都到手了参数按上表微调视频流模式默认帮你把延迟压住。想深入可以看官方文档 docs/solutions/hands.md 和 Python 安装说明 docs/getting_started/python.md图计算源码在 mediapipe/modules/hand_landmark/ 和 mediapipe/graphs/hand_tracking/。【免费下载链接】mediapipeCross-platform, customizable ML solutions for live and streaming media.项目地址: https://gitcode.com/GitHub_Trending/med/mediapipe创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考