用Python编程识别手势数字
Posted 不加班的程序员丶
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用Python编程识别手势数字相关的知识,希望对你有一定的参考价值。
用Python编程识别手势数字
谷歌出了一个开源的、跨平台的、可定制化的机器学习解决方案工具包,给在线流媒体(当然也可以用于普通的视频、图像等)提供了机器学习解决方案。感兴趣的同学可以打开这个网址了解详情:mediapipe.dev/
它提供了手势、人体姿势、人脸、物品等识别和追踪功能,并提供了C++、Python、javascript等编程语言的工具包以及ios、android平台的解决方案,今天我们就来看一下如何使用MediaPipe提供的手势识别来写一个Python代码识别手势中的数字:0-5 。
准备工作
电脑需要安装Python3,建议安装Python3.8.x的版本。除此之外,还需要安装Opencv-Python、MediaPipe以及numpy几个工具包,可以使用pip进行安装:
准备6张图片,分别是6张手的图片。
编写程序
- 编写一个handutil.py模块,这个handutil模块有一个HandDetector类,提供了检测手势、获取手势数据的方法。代码如下,详细解释看代码注释:
- 编写另一个fingercount.py代码,在这个代码中,调用handutil.py的HandDetector类提供的方法,获取手势数据,每个手势数据由3个数字组成:id, x, y,分别代表手势中某个点以及这个点的x\\y坐标位置。下图是手势识别中每个id对应手的部位说明。
从上图可知:4, 8, 12, 16, 20分别代表大拇指、食指、中指、无名指和小指的指尖。完整代码如下:
运行代码,我们可以看到能够识别手势中的数字,并显示对应的图片和数字了
以上是关于用Python编程识别手势数字的主要内容,如果未能解决你的问题,请参考以下文章
[Python人工智能] 三十九.VS Code配置Python编程和Keras环境及手写数字识别(基础篇)