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),仅供参考

相关新闻

最新新闻

ntfy 推送通知服务器部署实操:3 条路径选 1 条就够

ntfy 推送通知服务器部署实操:3 条路径选 1 条就够

ntfy 推送通知服务器部署实操:3 条路径选 1 条就够 【免费下载链接】ntfy Send push notifications to your phone or desktop using PUT/POST 项目地址: https://gitcode.com/GitHub_Trending/nt/ntfy ntfy 是一个围绕单次 HTTP 请求构建的推送通知服务器&a…

2026/9/2 12:43:31
yuzu Switch 模拟器完全指南:从安装、配置到性能优化的 7 步实践

yuzu Switch 模拟器完全指南:从安装、配置到性能优化的 7 步实践

yuzu Switch 模拟器完全指南:从安装、配置到性能优化的 7 步实践 【免费下载链接】yuzu 任天堂 Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/yu/yuzu yuzu 是一款用 C 编写的开源任天堂 Switch 模拟器,官方持续维护 Windows、L…

2026/9/2 12:43:31
张雪峰.skill系列总结:从安装到精通的完整认知地图(附全部100篇索引)

张雪峰.skill系列总结:从安装到精通的完整认知地图(附全部100篇索引)

张雪峰.skill系列总结:从安装到精通的完整认知地图(附全部100篇索引) 【免费下载链接】zhangxuefeng-skill 张雪峰.skill — 张雪峰的认知操作系统。高考志愿/考研/职业规划的实战思维框架。由女娲.skill生成。 项目地址: https://gitcode.…

2026/9/2 12:43:31
Carbon 语言:C++ 替代路线上的系统编程实验,从 Hello 到 C++ 互操作的最短路径

Carbon 语言:C++ 替代路线上的系统编程实验,从 Hello 到 C++ 互操作的最短路径

Carbon 语言:C 替代路线上的系统编程实验,从 Hello 到 C 互操作的最短路径 【免费下载链接】carbon-lang Carbon Languages main repository: documents, design, implementation, and related tools. (NOTE: Carbon Language is experimental; see READ…

2026/9/2 12:43:31
CAN学习笔记

CAN学习笔记

特点: 1.传输方式:广播式和请求式 2.高速CAN CAN2.0B 125-1Mbps 40m 低速CAN CAN2.0A 10k-125kbps 1km CAN FD : 8 Mbit/s → 约 40 米 2 Mbit/s → 约 100 米 CAN XL: 最大传输速率: 标准设计目标是 高达 20 Mbit/s,部分实验甚至能更高。 最大传输距离: 同样和速率…

2026/9/2 12:43:31
PHP如何获取当前的URL?

PHP如何获取当前的URL?

在PHP中,要获取当前的URL,你可以使用$_SERVER[REQUEST_URI]这个全局变量。这个变量存储了当前请求的URI(Uniform Resource Identifier,统一资源标识符),也就是浏览器地址栏中显示的网址路径。底层原理是这样…

2026/9/2 12:38:31