目录
- 1、效果图
- 2、手势识别关键步骤
- (1) 导入必要的库
- (2)配置 MediaPipe
- (3)启动摄像头
- (4)设置手指张开判断的距离阈值
- (5)计算手指之间的欧几里得距离
- (6)处理视频流
- (7)计算和显示手指张开的数量
- (8)显示图像
- (9)按键退出
- (10)资源释放
- 3、源码下载
- 技术交流
博主介绍:
计算机科班人,全栈工程师,掌握C、C#、Java、Python、Android等主流编程语言,同时也熟练掌握mysql、oracle、sqlserver等主流数据库,能够为大家提供全方位的技术支持和交流。
具有丰富的项目经验和开发技能。提供相关的学习资料、程序开发、技术解答、代码讲解、文档报告等专业服务。
🍅文末获取源码🍅
👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到我哟
《精品项目实战》
1、效果图
2、手势识别关键步骤
(1) 导入必要的库
- MediaPipe:用于手部识别和关键点检测。
- OpenCV:用于视频捕捉和图像处理。
- NumPy:用于数值计算,特别是在计算手指之间的距离时。
(2)配置 MediaPipe
- 配置 MediaPipe 的手部识别工具,设置了识别模式、最大手数、最小检测信度和最小跟踪信度。
(3)启动摄像头
- 使用 OpenCV 打开默认摄像头,并设置窗口可调整大小。
(4)设置手指张开判断的距离阈值
- 定义
FINGER_THRESHOLD
,用于判断手指是否张开。该值需要根据实际情况进行调整。
(5)计算手指之间的欧几里得距离
- 定义函数
calculate_distance
,通过手指尖和根部的坐标计算两点之间的欧几里得距离,用于判断手指是否张开。
(6)处理视频流
- 通过摄像头连续读取图像帧。
- 对每一帧图像进行处理:转换颜色空间并使用 MediaPipe 进行手部识别。
- 如果检测到手部关键点,绘制手部关键点,并计算手指尖与根部之间的距离来判断手指是否张开。
(7)计算和显示手指张开的数量
- 遍历所有识别到的手部,检查每根手指的距离,累加张开的手指数。
- 使用 OpenCV 在图像上显示张开手指的数量,并输出到控制台。
(8)显示图像
- 使用 OpenCV 显示处理后的图像,并实时更新。
(9)按键退出
- 按
q
键退出程序,释放摄像头资源并关闭所有 OpenCV 窗口。
(10)资源释放
- 释放摄像头资源,关闭所有 OpenCV 创建的窗口。
3、源码下载
https://download.csdn.net/download/xch_yang/90779470
技术交流
大家点赞、收藏、关注、评论啦!
精彩专栏推荐订阅:在下方专栏👇🏻👇🏻👇🏻👇🏻
《精品项目实战》
更多技术干货,请持续关注程序员大佬超。
原创不易,转载请务必注明出处。