网站首页 > 技术文章 正文
1.项目效果展示
项目主要分为四个部分,分别是
隔空音量控制
隔空绘画
隔空识别手势
隔空操作鼠标
下面是这四部分的演示效果
1.1:隔空音量控制
1.2:隔空绘画
1.3 :手势识别
1.4:鼠标模拟
2.所涉及到的库
上面这些应用的实现主要涉及到了两个库
OpenCv
MediaPipe
2.1:OpenCv简介
OpenCV是一个基于Apache2.0许可发行的跨平台计算机视觉与机器学习的软件库。
可以运行在多种操作系统,例如Linux,Window,Mac OS等等。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
2.2:MediaPipe简介
MediaPipe是一由Google开发并开源的数据流处理机器学习应用开发框架。
它是一个基于图的数据处理管线,用于构建使用了多种形式的数据源,如视频、音频、传感器数据以及任何时间序列数据。
MediaPipe是跨平台的,可以运行在多种操作系统,工作站和服务器上,并支持移动端GPU加速。
使用MediaPipe,可以将机器学习任务构建为一个图形的模块表示的数据流管道,包括推理模型和流媒体处理功能。
3.项目环境搭建
这些应用的环境方便比较简单,可以直接在pycharm里面进行安装对应的库即可使用。如果遇到库不能下载或者是超时,可以进行pip换源下载,本应用使用Python进行编写
4.源码部分
应用涉及到的源码比较多,这里就不一一进行贴出来了。
想要实践一下的同学可以私信我“666”获取哦!
下面是关键部分代码的一些截取内容。
cap = cv2.VideoCapture(0) #若使用外接摄像头 则更改为1或其他编号
cap.set(3, wCam)
cap.set(4, hCam)
pTime = 0
detector = handDetector()
success, img = cap.read()
img = detector.findHands(img)
lmList = detector.findPosition(img, draw=False)
pointList = [4, 8, 12, 16, 20]
if len(lmList) != 0:
countList = []
if lmList[4][1] > lmList[3][1]:
countList.append(1)
else:
countList.append(0)
for i in range(1, 5):
if lmList[pointList[i]][2] < lmList[pointList[i] - 2][2]:
countList.append(1)
else:
countList.append(0)
count = countList.count(1)
HandImage = cv2.imread(f'FingerImg/{count}.jpg')
HandImage = cv2.resize(HandImage, (150, 200))
h, w, c = HandImage.shape
img[0:h, 0:w] = HandImage
cv2.putText(img, f'{int(count)}', (15, 400), cv2.FONT_HERSHEY_PLAIN, 15, (255, 0, 255), 10)
原文:
https://blog.csdn.net/weixin_45574790/article/details/122505077?utm_medium=
distribute.pc_feed_blog_category.none-task-blog-classify_tag-5.nonecasedepth_1-utm_source=
distribute.pc_feed_blog_category.none-task-blog-classify_tag-5.nonecase
猜你喜欢
- 2025-05-26 智能家居安防系统:AI与Python如何打造更安全的家
- 2025-05-26 在安卓设备上运行Python的方法
- 2025-05-26 基于OpenCv的人脸识别(Python完整代码)-大盘站
- 2025-05-26 边缘计算革命——Python在IoT与自动驾驶中的新战场
- 2025-05-26 一文带你深入了解Python+MediaPipe实现检测人脸的功能
- 2025-05-26 树莓派制成的 — 带运动检测和摄像头的安防系统
- 2025-05-26 用投影仪+摄像头DIY一台结构光3D扫描仪
- 2025-05-26 OpenCV-python 教你如何播放视频
- 2025-05-26 探索Python中的人脸识别:深入pyfacelib库
- 2025-05-26 「洞幺邦」基于摄像头的手势识别与控制
- 258℃Python短文,Python中的嵌套条件语句(六)
- 257℃python笔记:for循环嵌套。end=""的作用,图形打印
- 256℃PythonNet:实现Python与.Net代码相互调用!
- 251℃Python操作Sqlserver数据库(多库同时异步执行:增删改查)
- 251℃Python实现字符串小写转大写并写入文件
- 106℃原来2025是完美的平方年,一起探索六种平方的算吧
- 91℃Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 83℃Ollama v0.4.5-v0.4.7 更新集合:Ollama Python 库改进、新模型支持
- 最近发表
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)