基于mediapipe深度学习的虚拟画板系统python源码

article/2025/8/2 21:11:24

目录

1.前言

2.算法运行效果图预览

3.算法运行软件版本

4.部分核心程序

5.算法仿真参数

6.算法理论概述

7.参考文献

8.算法完整程序工程


1.前言

       虚拟画板系统基于计算机视觉与深度学习技术,通过摄像头捕获用户手部动作,利用 MediaPipe框架实现手部关键点检测与手势识别,进而将手部运动转化为虚拟画笔操作。系统主要流程包括:图像采集→手部关键点检测→手势语义解析→坐标映射→绘图逻辑执行

2.算法运行效果图预览

(完整程序运行后无水印)

3.算法运行软件版本

人工智能算法python程序运行环境安装步骤整理_本地ai 运行 python-CSDN博客

4.部分核心程序

 def  findHands(self,img,draw=True):imgRGB=cv2.cvtColor(img,cv2.COLOR_BGR2RGB)self.results=hands.process(imgRGB)if self.results.multi_hand_landmarks:#get the information of each handfor handLms in self.results.multi_hand_landmarks:if draw:self.mpDraw.draw_landmarks(img,handLms,self.mpHands.HAND_CONNECTIONS)return imgdef findPosition(self,img,handNo=0,draw=True):self.lmList=[]if self.results.multi_hand_landmarks:myHand=self.results.multi_hand_landmarks[handNo]for id,lm in enumerate(myHand.landmark):h,w,c=img.shapecx,cy=int(lm.x*w),int(lm.y*h)self.lmList.append([id,cx,cy])if draw:cv2.circle(img,(cx,cy),8,(255,0,0),cv2.FILLED)return self.lmList    0Y_007

5.算法仿真参数

# 指尖检测器,设置检测置信度为0.8
# 初始化摄像头
cap=cv2.VideoCapture(0)
cap.set(3,1280)
cap.set(4,720)

pens=5#画笔宽度
erasers=100#橡皮宽度

6.算法理论概述

       虚拟画板系统基于计算机视觉与深度学习技术,通过摄像头捕获用户手部动作,利用 MediaPipe框架实现手部关键点检测与手势识别,进而将手部运动转化为虚拟画笔操作。系统主要流程包括:图像采集→手部关键点检测→手势语义解析→坐标映射→绘图逻辑执行

     MediaPipe 的Hands模型采用轻量级卷积神经网络(CNN),结合姿态估计(Pose Estimation)与关键点检测(Keypoint Detection)技术,实现实时手部跟踪。模型结构包含:

        轻量化主干网络:如 MobileNetV3,用于提取图像特征;

       关键点回归头:输出 21 个手部关键点(如指尖、指节)的二维坐标与置信度,坐标值通过归一化处理(范围 [0,1])映射到图像尺寸。

通过分析手部关键点的相对位置关系,定义不同手势语义。例如:

画笔模式:单指(如食指)抬起,其余手指弯曲;

橡皮/画笔选择:两个手指同时伸开,则表示开始选择画笔颜色或者橡皮模式

7.参考文献

[1]陈吴东.基于深度学习的动态手势检测与识别算法研究[J].现代信息科技, 2025(8).

[2]范羽,梁梓康,徐明坤,等.基于MediaPipe手势识别的聋哑人交流系统设计[J].轻工科技, 2024, 40(5):99-102.

[3]孟杰,杨鹏程,杨朝,等.基于Mediapipe的幻影成像装置自然手势交互系统设计[J].国外电子测量技术, 2023, 42(3):116-122.DOI:10.19652/j.cnki.femt.2204392.

8.算法完整程序工程

OOOOO

OOO

O


http://www.hkcw.cn/article/WFDhZiaITd.shtml

相关文章

AUTOSAR图解==>AUTOSAR_SWS_DIODriver

AUTOSAR DIO驱动器详解 基于AUTOSAR 4.4.0规范的DIO驱动架构、配置与应用 目录 1. 引言2. DIO驱动架构 2.1 DIO在AUTOSAR架构中的位置2.2 DIO驱动的功能概述 3. DIO驱动的数据类型和API 3.1 基本数据类型3.2 API接口3.3 错误检测 4. DIO驱动的操作流程 4.1 通道操作4.2 端口操…

Python数据类型详解:从字符串到布尔值,一网打尽

Python是现代编程语言中非常流行的一种,它的语法简洁、易懂,非常适合初学者。而在Python编程中,“数据类型”是最基础也是最重要的概念。理解这个概念,将为你之后的编程打下坚实的基础。 1. 什么是数据类型? 在Pytho…

lc hot 100之:双指针题目对比

写到两个给我感觉很类似的双指针题目,但是代码不同,我想把两个题放在一起,对比着看看。 第一题: 首先,提到“重复”,比较好想到哈希表。访问过就在哈希表里记录,然后只要找哈希表中有没有这个数…

6.01打卡

浙大疏锦行 DAY 40 训练和测试的规范写法 知识点回顾: 1. 彩色和灰度图片测试和训练的规范写法:封装在函数中 2. 展平操作:除第一个维度batchsize外全部展平 3. dropout操作:训练阶段随机丢弃神经元,测试阶段eval模…

SIM——引入双阶段搜索机制在用户行为序列的同时关注动态兴趣

文章目录 1. 背景2. 方法2.1 GSU2.1.1 Hard Search2.1.2 Soft Search 2.2 ESU 这里来回顾一篇经典的文章 SIM(Search-based Interest Model),也是自己学习一下,虽然挺久了,但是业界都在使用这个,说明含金量…

LeRobot ACT——LeRobot对ALOHA ACT策略的封装:含源码解析与真机部署(效果比肩ACT原论文)

前言 本文一开始是此文的第一部分,后随着我司各大具身团队对各个动作策略的实践、深入,觉得可以挖掘且分享的细节越来越多,比如LeRobot ACT,其效果也不错 ALOHA ACT的复现与应用:双臂下的智能分拣场景 故把其中的「Le…

【Linux网络编程】网络层IP协议

目录 IP协议的协议头格式 网段划分 特殊的IP地址 IP地址的数量限制 私有IP地址和公网IP地址 路由 IP协议的协议头格式 4位版本号 :指定IP协议的版本,对于IPv4,版本号就是4。 4位首部长度:表名IP协议报头的长度,单…

微调大模型:什么时候该做,什么时候不该做?

目录 一、什么是“微调”?你真的需要它吗? 二、什么时候不该微调? 🚫 不该微调的 5 个典型场景: 1. 通用问答、闲聊、常识类内容 2. 企业内部问答 / 文档助手 3. 想要通过微调“学会格式” 4. 没有大量高质量标…

[AD] CrownJewel-1 Logon 4799+vss-ShadowCopy+NTDS.dit/SYSTEM+$MFT

QA QA攻擊者可以濫用 vssadmin 實用程式來建立卷影快照,然後提取 NTDS.dit 等敏感檔案來繞過安全機制。確定卷影複製服務進入運作狀態的時間。2024-05-14 03:42:16建立卷影快照時,磁碟區複製服務會使用機器帳戶驗證權限並列舉使用者群組。找到卷影複製過…

系统思考:整体观和心智模式

如果你是小区管委会的主委,面对住户抱怨“电梯太慢,每次都要花很久等电梯”,是不是第一反应就是——换马达、更新软件,甚至换整台电梯?这其实是典型的“线性思维”陷阱——把问题看成孤立的零件故障。 从系统思考的角…

常见相机的ISP算法

常见的ISP算法 3A算法 去雾算法 图像增强算法 图像宽动态算法 图像的电子缩放算法,无极电子缩放 图像降噪算法 相机常见问题 1.相机启动速度问题,启动速度较慢 2.相机扛不住高低温问题 3.相机散热问题问题 4.相机高低温芯片保护掉电 5.相机的成像效果或者…

黑马Java面试笔记之框架篇(Spring、SpringMvc、Springboot)

一. 单例bean Spring框架中的单例bean是线程安全的吗? Spring框架中的bean是单例的,可以在注解Scope()进行设置 singleton:bean在每一个Spring IOC容器中只有一个实例。prototype:一个bean的定义可以有多个实例 总结 二. AOP AOP称…

【Go】2、Go语言实战

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 前置知识 本篇将涉及到一些在命令行的输入输出操作,之前我们已经学习了fmt包用于输出内容,下面将介绍bufio包用于读入数据。 bufio包简介 bufio 是 Go 标准库…

基于Python与本地Ollama的智能语音唤醒助手实现

项目简介 本项目是一个基于 Python 的智能语音助手,集成了语音录制、语音识别、AI对话和语音合成功能。用户可以通过语音与本地部署的 Ollama 大模型进行自然对话。 技术架构 核心功能模块 语音录制 - 使用 sounddevice 录制用户语音语音识别 - 使用 faster-whi…

Vue框架2(vue搭建方式2:利用脚手架,ElementUI)

一.引入vue第二种搭建方式 在以前的前端项目中,一个项目需要多个html文件实现页面之前的切换,如果页面中需要依赖js或者css文件,那么我们就需要在多个html文件中都需要导入vue.js文件,太过繁琐. 现在前端开发都采用单页面结果,一个项目中只有一个html文件 其他不同的内容都写…

维斯塔潘谈和拉塞尔碰撞 意外相撞引发讨论

在F1西班牙大奖赛正赛中,维斯塔潘因与拉塞尔相撞被罚时10秒,最终排名第十。赛后采访中,记者问及那次碰撞。维斯塔潘表示两人开车时确实撞到了一起。当记者指出他本可以避免这种情况时,维斯塔潘承认了这一点。至于为什么会发生这样的情况,他表示自己也不清楚。责任编辑:zx…

乌称摧毁俄大量轰炸机 俄媒称系谣言 谎言蛛网

俄罗斯“与假新闻作战”网站发布文章称,通过分析乌克兰方面发布的视频可以确认,乌总统泽连斯基所谓“已摧毁34%俄罗斯远程机队”的说法并不属实。俄方认为,乌方的行动更像是编织了一张“谎言蛛网”。俄方分析指出,乌克兰实际上可能仅摧毁了两架图-95战略轰炸机及一架安-12运…

IntelliJ IDEA 接入 Ollama 本地模型 Qwen-coder

一:下载ollama 官网下载https://ollama.com/ 二:安装 一键自动安装,且安装的是C盘 如果C盘紧张,想装在其他盘符,在安装包目录下打开cmd命令行, 在你想安装的盘下创建一个文件夹,例如在D盘创建…

C++学习-入门到精通【12】文件处理

C学习-入门到精通【12】文件处理 目录 C学习-入门到精通【12】文件处理一、文件和流二、创建顺序文件三、从顺序文件读取数据文件定位指针对之前的程序进行修改:贷款查询程序 四、更新顺序文件五、随机存取文件1.创建随机存取文件2.修改程序:贷款处理程序…

生成式AI模型的重要评估指标——FID

1、引言 随着深度学习的发展迅速,生成式模型如生成对抗网络(GAN)、变分自编码器(VAE)等取得了显著的进展。看似逼真的图像数据,仍旧会有结构缺陷等情况发生,那么如何客观、准确的评估这些生成式…