🚀 作者 :“大数据小禅” 大数据领域作者,华为认证云享专家,阿里云专家博主
🚀 文章简介 :本篇文章的实战部分中主要使用到了 MediaPipe 与 OpenCv 两个库,实现了隔空操作的效果,主要有**隔空操作鼠标,隔空绘画,隔空控制音量与隔空手势识别 **💪
🚀 文章源码获取 :本文的源码,大数据交流群,小伙伴们可以关注文章底部的公众号,点击“联系我”备注源码获取。
🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬
使用这个编程语言,我实现了隔空操物!!
文章目录
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.源码部分
应用涉及到的源码比较多,这里就不一 一进行贴出来了。
想要实践一下的同学可以私信我获取,或者是直接点击文章底部关注公众号,点击联系我添加备注源码获取 下面是关键部分代码的一些截取内容。
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]iflen(lmList)!=0:
countList =[]if lmList[4][1]> lmList[3][1]:
countList.append(1)else:
countList.append(0)for i inrange(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)
5.总结
上面这四个项目主要是调用到了一些机器学习的库进行代码的编写。感兴趣的小伙伴可以导入项目在自己的电脑上进行实操一下。
欢迎小伙伴们 点赞👍、收藏⭐、留言💬
版权归原作者 大数据小禅 所有, 如有侵权,请联系我们删除。