手指滑动控制系统全局音量的程序(上)
这次的目标是做出一个通过摄像头检测手指滑动,从而可以调整系统全局音量的程序前期的准备工作Python的语法准备可能需要安装的第三方库思考整个程序的逻辑可用的摄像头安装可能用到的第三方库pip install MideaPipe第二个pip install pycaw可以在上下里面选择一个pip install pywin32至于说上面这两个有什么区别,下面会提到第三个pip install ope
·
这次的目标是做出一个通过摄像头检测手指滑动,从而可以调整系统全局音量的程序
前期的准备工作
- Python的语法
- 准备可能需要安装的第三方库
- 思考整个程序的逻辑
- 可用的摄像头
安装可能用到的第三方库
pip install MideaPipe
第二个
pip install pycaw
可以在上下里面选择一个
pip install pywin32
至于说上面这两个有什么区别,下面会提到
第三个
pip install opencv-python
思考整个程序的逻辑
- 使用 OpenCV 作为图像处理的库,因为需要通过摄像头读取当前的画面,OpenCV 里面有专门用于图像处理的各种函数
- 使用机器学习相关的函数进行手关节跟踪检测,这里选择的是 Google 的 MideaPipe,这个是他的官网 https://google.github.io/mediapipe/
- 引用官网的一张图:
- 对识别到的关节结点,取其中的两个较远的点进行距离计算,当距离达到一定时,认定为提高音量,距离过小识别为降低音量
- 调整音量通过调用已有的库函数进行操作
在 pywin32 和 pycaw 中选一个
这两个都是用于调整系统的全局音量,各自的用法可以参考这里:https://www.zhihu.com/question/50565812/answer/2254577839
有什么区别?
- pywin32 是 Windows 系统自带的 api ,最可靠,因为是微软自家的函数,契合 Windows 平台,但是我目前还不太会用,所以做出来的结果就只有两种极端情况,调音量到最大,和调音量到最小
- pycaw 从我目前的使用来看,可以一格一格地调节音量, 还可以限制最大音量的数值,但是当系统音量调节至 0 以下会导致崩溃
可用的摄像头
基本上现在能用的笔记本上面的摄像头都没太大问题
更多推荐
已为社区贡献1条内容
所有评论(0)