超好玩的"隔空操物"通过Python MediaPipe库实现

作者:大数据小禅 时间:2023-06-04 23:21:09 

🚀 文章简介 :本篇文章的实战部分中主要使用到了 MediaPipe 与 OpenCv 两个库,实现了隔空操作的效果,主要有**隔空操作鼠标,隔空绘画,隔空控制音量与隔空手势识别 **💪

演示视频

使用这个编程语言,我实现了隔空操物!!

1.项目效果展示

项目主要分为四个部分,分别是

  • 隔空音量控制

  • 隔空绘画

  • 隔空识别手势

  • 隔空操作鼠标

下面是这四部分的演示效果

1.1:隔空音量控制

超好玩的"隔空操物"通过Python MediaPipe库实现

1.2:隔空绘画

超好玩的"隔空操物"通过Python MediaPipe库实现

1.3 :手势识别

超好玩的"隔空操物"通过Python MediaPipe库实现

1.4:鼠标模拟

超好玩的"隔空操物"通过Python MediaPipe库实现

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]
   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)

5.总结

上面这四个项目主要是调用到了一些机器学习的库进行代码的编写。感兴趣的小伙伴可以导入项目在自己的电脑上进行实操一下。

来源:https://blog.csdn.net/weixin_45574790/article/details/122505077

标签:Python,隔空操物,MediaPipe,OpenCv
0
投稿

猜你喜欢

  • python PyAUtoGUI库实现自动化控制鼠标键盘

    2022-07-07 16:47:41
  • python实现域名系统(DNS)正向查询的方法

    2021-03-26 17:20:57
  • js实现简单的可切换选项卡效果

    2024-04-22 13:05:56
  • 通过Python中的CGI接口讲解什么是WSGI

    2022-08-10 15:04:24
  • python中使用ctypes调用so传参设置遇到的问题及解决方法

    2021-06-02 00:38:39
  • python生成带有表格的图片实例

    2023-05-22 03:30:16
  • Python的matplotlib绘图如何修改背景颜色的实现

    2023-10-05 08:12:43
  • 天极产品设计流程

    2007-10-11 18:47:00
  • python中关于property的最详细使用方法

    2023-07-23 15:35:26
  • MySQL 去除重复数据实例详解

    2024-01-24 13:21:53
  • 网页设计标准尺寸参考

    2007-12-29 20:42:00
  • php微信公众号开发之快递查询

    2023-11-11 03:30:36
  • Ubuntu18.04中Python2.7与Python3.6环境切换

    2021-10-13 17:21:02
  • Python如何发送与接收大型数组

    2022-07-26 06:54:54
  • django项目简单调取百度翻译接口的方法

    2023-10-20 18:25:41
  • Safari参考样式库之webkit

    2009-07-26 09:50:00
  • python等待10秒执行下一命令的方法

    2022-02-25 00:40:03
  • python如何对数组进行降维

    2022-12-27 18:51:32
  • vue实现手机号码的校验实例代码(防抖函数的应用场景)

    2024-05-29 22:19:44
  • 详解Python遍历字典的键和值

    2021-07-19 23:02:14
  • asp之家 网络编程 m.aspxhome.com