手指滑动控制系统全局音量的程序(上)
这次的目标是做出一个通过摄像头检测手指滑动,从而可以调整系统全局音量的程序
前期的准备工作
- 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.OpenCV的视频处理 0表示使用系统默认的摄像头 使用一个用久成立的循环,使视频中的每一帧 ...
- 三轴桁架机械手控制系统 用于数控车床自动上下料 信捷触摸屏程序
三轴桁架机械手控制系统 用于数控车床自动上下料 信捷触摸屏程序 编号:3449654333414923追梦的萌大叔
- 三轴桁架机械手控制系统 用于数控车床自动上下料 信捷触摸屏程序 可视化运动仿真
三轴桁架机械手控制系统 用于数控车床自动上下料 信捷触摸屏程序 可视化运动仿真 运行状态全程监控 支持电子手轮,方便调机. 本链接包含屏和PLC全套程序 程序已调试 ID:69499654333414 ...
- 小程序 | 小程序中常用的事件 + 事件对象的属性列表 +小程序事件传参 + 小程序全局配置 + 小程序页面配置 + 小程序发起网络数据请求
文章目录 一.WXML 模板语法 数据绑定 事件绑定 ⭐小程序中常用的事件 ⭐事件对象的属性列表 target 和 currentTarget 的区别 bindtap 的语法格式 在事件处理函数中为 ...
- 全栈开发工程师微信小程序-上(中)
全栈开发工程师微信小程序-上(中) width: 750rpx; 复制代码 750rpx代表与屏幕等宽,rpx的缩写responsive pixel,这个单位是可以根据屏幕大小进行自适应调整的像素单位 ...
- android仿苹果悬浮窗(自动停靠、随手指滑动、返回主屏幕)
说明:本人写博客一来是为了方便日后查看项目,二来是希望能够和广大的程序猿相互交流学习,文章布局简单,如有嫌弃,请绕行,如有错误,请指出,谢谢. 实验环境:安卓6.0 魅族手机 悬浮窗主要有以下几个功能 ...
- unity全局音量管理/全局音量设置与音量设置界面(含静音功能)
前言 本文将会介绍如何使用audiomixer实现全局音量控制,并且会介绍如何实现游戏内的含静音功能的音量设置界面. 本人也是个初学者,在看过一些关于音量管理的教程后,发现使用audiomixer实现 ...
- androidstudio判断手指滑动方向_方向盘的黑科技有多“黑”
Mercedes-Benz 从第一辆汽车发明到现在的一个多世纪里,有数不清的汽车品牌诞生,也有不少品牌衰败.而他们中间,真正敢说"我为汽车技术的革命与进步做出了贡献"的品牌却寥寥无 ...
- jquery 手指滑动多半屏_JS拖拽专题(五)——「玩出花儿来」移动端滑动事件的封装...
欢迎来到我的JS拖拽专题系列文章,本章节将是拖拽系列的最后一篇.感谢大家的支持^_^ 上一章节我们说到了拖拽让图片相互之间交换位置,相对来说是一个比较综合的示例,涉及到了矩形的碰撞检测,勾股定理计算两 ...
- 手游频繁崩溃”闪退”? 从程序上找原因
手游频繁崩溃"闪退"? 从程序上找原因 作为玩家,当游戏crash的时候是什么心情,如果这个游戏玩起来还不错的话,那我可能还会打开第二次,如果这个游戏一般的话我可能直接怒删了.当多 ...
最新文章
- [原] Excel(VBA)中数据的非科学记数法显示
- SpringBoot+Vue+Itext实现前端请求文件流的方式导出PDF时在指定位置添加照片
- bootstrap 模态框垂直居中实现方法
- 浏览器九宫格的简单实现 - 蒋宇捷的专栏 - 博客频道 - CSDN.NET
- python 复数幂_python基础学习——运算符(1)
- promentheus的组件有_Prometheus实施架构小结 PDF 下载
- ais信号接收设备_基于USRP的AIS接收机实现
- SystemVerilog中package(包)的基本使用
- typedef struct
- ie6下margin间距是两倍的解决办法
- SpringBoot实现quartz定时任务可视化管理
- OLLYDBG逆天 往事随风修改专版
- nm命令 查看符号文件
- SQLServer触发器的使用
- svg模糊图片局部清晰透视图
- 日语输入法键盘假名对应表
- linux下wifi实现
- 如何引流购物粉?如何引流网购粉?怎么吸购物粉?
- php获取当前URL地址
- GIS学习二:地形分析