手势水果忍者-Python MediaPipe OpenCV

项目描述
基于 MediaPipe 手部关键点检测 + OpenCV,**举手就玩,无需手柄**

功能描述
1. 运行游戏 → 摄像头自动打开
2. ☝️ 伸出食指 = 刀刃(光标跟随食指)
3. 快速划过空中的水果 → 💥 水果切开 + 得分!
4. 漏掉3个水果 → 💀 Game Over
5. 菜单可选游戏时长:10s / 20s / 30s
快捷键:
– `ESC` — 退出
– `L` — 切换手部骨架显示
核心算法
1.食指追踪
指数移动平均平滑:
当前光标 = 0.4 × 原始位置 + 0.6 × 上一帧位置
手指选择保护:
中指比食指伸得更高 → 冻结光标(防止跳到中指)
两指靠太近(<30px) → 保持原位不动
手移出画面 → 记忆位置保留1.5秒
2.挥刀判定
挥刀速度 > 缩放阈值(210~350px/s) → 检查轨迹是否穿过水果
穿过 → 切开 + 粒子爆炸特效
未穿过 → 挥空风声效果
`3.水果抛物线
真实竖直上抛物理:
vy₀ = √(2 × g × h) → 减速上升→最高点v=0→加速下降
g 和 vy₀ 按分辨率等比缩放(自适应 640×480 ~ 1920×1080)

运行环境
开发环境 pycharmh
运行环境 flask+mysql+python3.10

项目技术
MediaPipe Hands 实时提取手部21个关键点坐标(食指指尖 = 光标)
OpenCV 摄像头捕捉 + 游戏渲染 + 特效叠加
Pygame 音效播放
Python 主开发语言

以上系统源码经过技术整理与调试,确保能正常运行

提供最优质的资源集合

立即查看 了解详情