当前位置: 首页 > article >正文

Python 玩转摄像头:MediaPipe 手势追踪贪吃蛇游戏(含完整环境配置教程)

本文将带你从零开始搭建一个 Python 多功能项目 Project2https://github.com/WLHSDXN/Project2。无论你是想学习计算机视觉、自动化脚本还是 Web 爬虫 邮件通知这个项目都能给你完整的实践参考。一、整体项目结构Project2-main/ ├── README.md# 项目总说明├── SnakeGame/# 摄像头贪吃蛇│ ├── main.py# 游戏主入口│ ├── HandTrackingModule_fixed.py# 手势追踪模块适配 MediaPipe 0.10│ ├── hand_landmarker.task# MediaPipe 手部模型文件│ ├── donut.png# 食物图片│ └── requirements.txt# 依赖清单├── AutomatedScript/# 自动化脚本│ ├── MessageBombing.py# 消息轰炸脚本│ └── README.md └── AutomatedScript_QueryScore/# 成绩监控├── cjcx.py# 核心查询 邮件发送└── README.md二、环境准备通用部分2.1 Python 版本推荐使用 Python 3.8 ~ 3.10。项目依赖中部分库如 tensorflow2.6.2、mediapipe0.8.3在高版本 Python 上可能存在兼容性问题。⚠️ 注意如果你只需要运行 SnakeGame不需要 tensorflow可以跳过安装它。# 在项目根目录下python-mvenv venv# Windows 激活venv\Scripts\activate# Linux/Mac 激活sourcevenv/bin/activate2.2 创建虚拟环境推荐# 在项目根目录下python-mvenv venv# Windows 激活venv\Scripts\activate# Linux/Mac 激活sourcevenv/bin/activate2.3 安装依赖SnakeGame 模块提供了 requirements.txt一键安装cdSnakeGame pipinstall-rrequirements.txt其他两个模块依赖较少单独安装即可# AutomatedScriptpipinstallpynput# AutomatedScript_QueryScorepipinstallrequests# smtplib 为 Python 内置库无需安装三、模块一SnakeGame摄像头贪吃蛇3.1 项目简介这是整个项目中最亮眼的模块。通过摄像头捕捉你的手部动作食指指尖控制蛇的移动方向实现隔空玩贪吃蛇的效果。###3.2 核心依赖及作用核心依赖主要为 mediapipe手势识别、cv2摄像头捕捉与画面渲染、cvzone简化OpenCV操作均已包含在 SnakeGame 目录的 requirements.txt 中一键安装即可。3.3 关键配置步骤① 下载 MediaPipe 手部模型文件项目已内置 hand_landmarker.task 文件在 SnakeGame/ 目录下。如果缺失可从 MediaPipe 官方https://ai.google.dev/edge/mediapipe/solutions/vision/hand_landmarker下载放置到 SnakeGame/ 目录。② 确认摄像头可用运行以下测试代码验证摄像头正常importcv2 capcv2.VideoCapture(0,cv2.CAP_DSHOW)ret,framecap.read()print(摄像头正常ifretelse摄像头异常)cap.release()如果提示摄像头异常检查是否有其他程序占用摄像头笔记本用户确认隐私设置中允许应用访问摄像头尝试将 0 改为 1 或 2多摄像头设备③ 运行游戏cdSnakeGame python main.py游戏启动后将手伸到摄像头前食指指尖即为蛇头位置吃到甜甜圈食物得 1 分蛇身增长蛇身缠绕自身则 Game Over按 R 键重新开始3.4 核心代码逻辑解析游戏主循环 (main.py)# 初始化摄像头 1280x720capcv2.VideoCapture(0,cv2.CAP_DSHOW)cap.set(3,1280)# 宽cap.set(4,720)# 高# 初始化手势检测器只检测一只手置信度 0.8detectorHandDetector(detectionCon0.8,maxHands1)# 主循环whileTrue:success,imgcap.read()imgcv2.flip(img,1)# 水平翻转镜像效果hands,imgdetector.findHands(img,flipTypeFalse)ifhands:lmListhands[0][lmList]pointIndexlmList[8][0:2]# 食指指尖坐标imggame.update(img,pointIndex)cv2.imshow(Image,img)ifcv2.waitKey(1)ord(r):game.gameOverFalse# 按 R 重开碰撞检测 (SnakeGameClass.update())# 将蛇身点除头部两个点连成折线ptsnp.array(self.points[:-2],np.int32)ptspts.reshape((-1,1,2))cv2.polylines(imgMain,[pts],False,(0,200,0),3)# 计算蛇头到折线的最短距离minDistcv2.pointPolygonTest(pts,(cx,cy),True)# 距离接近 0 说明蛇头碰到了身体 → 游戏结束if-1minDist1:self.gameOverTrue3.5 手势追踪模块说明项目使用了自定义的 HandTrackingModule_fixed.py专门适配了 MediaPipe 0.10 的新 API旧版 cvzone 的 HandTrackingModule 在新版 MediaPipe 上会报错。关键变化使用 mediapipe.tasks.python.vision.HandLandmarker 替代旧的 mp.solutions.hands需要加载 .task 模型文件输出格式从归一化坐标转换为像素坐标四、模块二AutomatedScript自动化脚本该模块包含自动化处理重复任务的脚本核心文件为MessageBombing.py消息轰炸脚本依赖仅需 pynput用于模拟键盘/鼠标操作。运行方式进入 AutomatedScript 目录直接执行 python MessageBombing.py可根据脚本内注释修改轰炸内容、频率等参数。五、模块三AutomatedScript_QueryScore成绩监控核心功能部署在服务器上实时监测成绩发布情况一旦有新成绩立即发送邮件到指定邮箱核心文件为 cjcx.py。依赖requests用于请求成绩查询接口smtplibPython 内置用于发送邮件。使用前需在 cjcx.py 中配置成绩查询接口地址、个人查询参数、邮箱账号密码、接收邮件地址等配置完成后直接运行即可实现后台监控。六、常见问题汇总Q1SnakeGame 运行报错 ModuleNotFoundError: No module named ‘cvzone’解决方案执行 pip install cvzone 安装依赖。Q2摄像头画面是黑的 / 打不开确认摄像头驱动正常检查是否有杀毒软件/隐私设置阻止了摄像头访问尝试把 cv2.VideoCapture(0) 中的 0 改为 1Q3MediaPipe 相关报错如模型加载失败解决方案确认 hand_landmarker.task 文件已放置在 SnakeGame 目录若缺失从 MediaPipe 官方地址重新下载。七、总结非常适合作为 Python 新手的综合练手项目每个模块都可以独立运行互相不耦合涵盖计算机视觉MediaPipe 手势识别、自动化操作、网络请求邮件通知等常用场景。项目地址https://github.com/WLHSDXN/Project2如果觉得有帮助欢迎点赞收藏 ⭐~

相关文章:

Python 玩转摄像头:MediaPipe 手势追踪贪吃蛇游戏(含完整环境配置教程)

本文将带你从零开始搭建一个 Python 多功能项目 Project2(https://github.com/WLHSDXN/Project2)。 无论你是想学习计算机视觉、自动化脚本,还是 Web 爬虫 邮件通知,这个项目都能给你完整的实践参考。 一、整体项目结构 Project2…...

避开Halcon点云分析第一个坑:手把手教你用`visualize_object_model_3d`正确显示与交互

Halcon 3D点云可视化实战:从参数解析到交互控制 第一次接触Halcon的3D点云分析时,我盯着屏幕上那团漆黑的点云数据手足无措——明明导入了数据,却不知道如何旋转查看不同角度,更别说测量特定高度了。visualize_object_model_3d这个…...

暗黑破坏神2存档编辑器:d2s-editor完全指南

暗黑破坏神2存档编辑器:d2s-editor完全指南 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 还在为暗黑破坏神2漫长的刷装备过程感到疲惫吗?想要快速体验不同职业build却不想从头练级?d2s-edit…...

计算机视觉算法优化方法

计算机视觉算法优化方法:提升效率与精度的关键路径 计算机视觉作为人工智能的核心领域之一,广泛应用于自动驾驶、医疗影像、安防监控等场景。随着任务复杂度的提升,算法的计算效率、精度和泛化能力面临巨大挑战。如何优化算法成为研究者关注…...

百度Agent岗一面:你知道哪些更复杂的 RAG 范式?

👔面试官:你了解哪些更复杂的 RAG 范式?除了最基本的检索加生成,还有什么更高级的玩法? 🙋‍♂️我:呃,我觉得 Advanced RAG 就是最复杂的了吧,加个 Rerank 和 Query 改…...

JavaScript 需求稳定,多类证书助力职业发展,招聘看重实践与证书结合!

考取这些 JavaScript 证书,证明热门技能!招聘看重,多证书可选助力职业发展考取这些 JavaScript 证书,能证明你掌握了全球最常用编程语言的热门技能。JavaScript 一直是网页开发领域最受欢迎的编程语言之一,短期内这种情…...

python 基础学习文档

✨博文作者:烟雨孤舟 💖 喜欢的可以 点赞 收藏 关注哦~~ ✍️ 作者简介: 一个热爱大数据的学习者 ✍️ 笔记简介:作为大数据爱好者,以下是个人总结的学习笔记,如有错误,请多多指教! 1. 标识符命…...

Guru:终端AI集成工具的设计原理与实战应用

1. 项目概述:Guru,你的终端AI伙伴 如果你和我一样,大部分工作时间都“焊”在终端里,那么你一定经历过这样的场景:想快速写一段脚本,得切到浏览器,打开某个AI聊天页面,粘贴代码&#…...

Rust内存安全:所有权与借用 vs 引用计数,该如何选择?

所有权与借用 vs 引用计数Rust的标志性成就,是在不使用垃圾回收器的情况下实现内存安全。它通过一套严格的所有权系统达成这一目标,但该系统特意设置了一个“逃生出口”:引用计数。在Rust程序中,每个值在任何给定时刻都只有一个所…...

Transformer叠加态MoE:动态参数激活的NLP新范式

1. 项目概述在自然语言处理领域,Transformer架构已经成为事实上的标准。但传统的Transformer模型存在一个根本性限制:每个输入token都会激活整个模型的所有参数,即使这些参数中只有一小部分真正相关。这种"全激活"模式导致了巨大的…...

2026 AI 爆发之年:从 DeepSeek V4 开源到科交会热潮,一站式聚合平台成全民刚需

2026 年 4 月 26 日,国内科技圈迎来双线沸腾时刻:一边是第四届中国科交会在合肥正式启幕,以 “科技打头阵 创新赢未来” 为主题,集中展示 AI、量子、智能制造等前沿成果,成为新质生产力的重要展示窗口;另一…...

三分钟掌握Trippy:现代网络诊断工具的终极使用指南

三分钟掌握Trippy:现代网络诊断工具的终极使用指南 【免费下载链接】trippy A network diagnostic tool 项目地址: https://gitcode.com/GitHub_Trending/tr/trippy Trippy是一款功能强大的现代网络诊断工具,它将传统的traceroute和ping功能完美…...

AI时代,代码还要学吗?Python\+Java高效学习指南(附AI协同秘籍)

最近被很多朋友问同一个问题:“现在AI都能一键生成代码了,还费劲学Python、Java干嘛?” 尤其是有一点代码基础的人,更纠结——自己能写点基础代码,又能用上AI,到底该深耕代码,还是干脆依赖AI“躺…...

TEKLauncher:方舟生存进化终极管理工具,5分钟搞定游戏配置

TEKLauncher:方舟生存进化终极管理工具,5分钟搞定游戏配置 【免费下载链接】TEKLauncher Launcher for ARK: Survival Evolved 项目地址: https://gitcode.com/gh_mirrors/te/TEKLauncher TEKLauncher是一款专为《方舟:生存进化》设计…...

别再手动“投喂”AI了:OpenClaw让大模型长出“手”和“眼”,而永动虾让它1分钟开跑

你有没有遇到过这种情况:明明让AI写一份周报,它却需要你一次次复制粘贴数据;想让AI自动处理几十份合同,但每次都要手动上传文件;甚至希望AI像人一样操作电脑、识别界面……但卡在“第一步”就寸步难行?本质…...

AI智能体浏览器自动化实战:绕过反爬虫与验证码的终极方案

1. 项目概述:为AI智能体赋予“真实浏览器之手”如果你正在使用Claude Code、Cursor、OpenClaw这类AI编程助手,并且尝试过让它们帮你自动完成一些网页操作——比如抓取商品价格、监控新闻动态、或者自动填写表单——那你大概率经历过这样的挫败&#xff1…...

超级编导源码流出,技术大拿深度对比超级编导与超级智剪云混剪架构

引言:当“源码”遇见“架构选型”近日,技术社区中关于“超级编导源码流出”的讨论引发了不少开发者的关注。无论这一传闻的真实性如何,它都将一个核心问题推到了技术决策者面前:在构建或集成短视频矩阵视频混剪工具时,…...

终极指南:如何用Prompt Optimizer节省90%的LLM API成本

终极指南:如何用Prompt Optimizer节省90%的LLM API成本 【免费下载链接】prompt-optimizer Minimize LLM token complexity to save API costs and model computations. 项目地址: https://gitcode.com/gh_mirrors/pr/prompt-optimizer 你是否在为LLM API的高…...

用Python和Pygame复刻简化版植物大战僵尸:从数学建模到游戏开发的保姆级教程

用Python和Pygame复刻植物大战僵尸:从数学模型到游戏逻辑的工程实践 当数学建模遇上游戏开发,会碰撞出怎样的火花?十年前那道经典的SPSSPRO数学建模题,将"植物大战僵尸"的规则抽象成数学模型,而今天我们将用…...

Docker Sandbox + Llama3/DeepSeek部署实操:1小时构建不可逃逸、不可提权、不可侧信道泄露的AI推理沙箱

更多请点击: https://intelliparadigm.com 第一章:Docker Sandbox 运行 AI 代码隔离技术概览 Docker Sandbox 是一种轻量级、可复现的容器化执行环境,专为安全运行未经信任的 AI 代码(如用户提交的推理脚本、自定义训练逻辑或第…...

VS Code MCP权限体系设计:RBAC+策略即代码(Policy-as-Code)双模管控,附GRC兼容配置清单

更多请点击: https://intelliparadigm.com 第一章:VS Code MCP权限体系设计:RBAC策略即代码(Policy-as-Code)双模管控,附GRC兼容配置清单 VS Code 通过 Microsoft Cloud Platform(MCP&#xff…...

这个AI插件直接“接管编辑器”?Unity开发要变天了!

在过去两年里,AI 工具几乎席卷了整个开发领域,但对于 Unity 开发者来说,大多数 AI 插件仍停留在“聊天工具”的层面:写点示例代码、解释概念,却无法真正融入项目。 而 Brody AI – Your Agentic Developing Homie 的出…...

Linux 进程间通信(IPC):管道与信号量完全指南

引言 在 Linux 系统编程中,进程间通信(IPC,Inter-Process Communication) 是一个核心课题。进程是独立运行的单位,默认情况下彼此隔离。但很多时候,我们需要让进程之间交换数据或同步执行顺序——这就是进…...

Sqlserver 学习笔记

这次的学习内容主要是关于数据库的使用。数据库和表的创建,增删改查的内容一,数据库(1)数据库的创建create database StudentDB --创建数据库 on primary --定义在主文件组上的文件 ( nameStudentDB_data, --逻辑名称 filenameD:\…...

G5080,TS3380,G2810,MG3680,G3810,TS3440,IX6780,MP288,TS8380报错5B00,P07,E08,1700,5b04废墨垫清零,亲测有效

下载:点这里下载 备用下载:https://pan.baidu.com/s/1WrPFvdV8sq-qI3_NgO2EvA?pwd0000 常见型号如下: G系列 G1000、G1100、G1200、G1400、G1500、G1800、G1900、G1010、G1110、G1120、G1410、G1420、G1411、G1510、G1520、G1810、G1820、…...

4 个开源轮子,0 个后端大佬:我们是怎么让 AI 客服自己“卷”起来的

搭建智能体客服自动化平台的真实过程深夜十一点,客服小晴在群里发了一条消息:“同一个用户关于退换货的问题,我已经解释了五遍规则,他还在问‘能不能特殊处理’。” 紧接着是第二句:“要是今晚再这样下去,我…...

CL4SE:上下文学习如何提升LLM在软件工程中的表现

1. CL4SE:软件工程中的上下文学习革命在2023年ChatGPT引爆AI热潮后,大型语言模型(LLM)在软件工程领域的应用呈现爆发式增长。但开发者们很快发现一个关键问题:同样的模型,为什么在A公司的代码生成任务上表现…...

RAG系统安全攻防:知识提取攻击与多层级防御策略

1. RAG系统安全攻防全景图:从知识提取攻击到多层级防御检索增强生成(Retrieval-Augmented Generation, RAG)系统通过整合外部知识库显著提升了大语言模型的生成能力,但这种开放性架构也引入了新的安全风险。知识提取攻击&#xff…...

Mac本地高效训练Flux.jl模型的完整指南

1. 项目概述最近在Mac上本地训练Flux模型的需求越来越普遍。作为一名长期在Mac平台进行机器学习开发的工程师,我发现很多同行在配置本地Flux训练环境时都会遇到各种"坑"。今天我就来分享一套经过实战检验的完整方案,帮助你在Mac上高效运行Flux…...

Caveman开源项目:用提示词工程优化AI对话,节省75%的Token成本

1. 项目概述:当AI学会“说人话”,我们到底在省什么?如果你和我一样,每天要和Claude、GPT这类大模型对话几十上百次,那你肯定对一种现象深恶痛绝:AI的“废话文学”。明明一句话就能说清楚的事,它…...