怎么用Python识别手势数字
作者:不加班的程序员丶 发布时间:2021-11-14 16:35:35
标签: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分别代表大拇指、食指、中指、无名指和小指的指尖。完整代码如下:
运行代码,我们可以看到能够识别手势中的数字,并显示对应的图片和数字了
来源:https://blog.csdn.net/lh9987/article/details/117573482


猜你喜欢
- 一、停止使用Oracle的服务停用oracle服务,进入计算机管理,在服务中,找到oracle开头的所有服务,右击选择停止。二、打开Univ
- 如下:import pandas as pddf = pd.DataFrame({'Country':['China
- 创建工程时,选择已存在的环境(不要选择虚拟环境,虽然安全,但很慢)添加环境在 anaconda3/bin/python3.6 即 d:/an
- 公司的一个项目中,有许多地方需要延时执行一些可重复性的函数(动作),就写了下面这段函数。 呵呵,不知道取什么意思更为确切些,就定为了:Loo
- 1、去空格及特殊符号s.strip().lstrip().rstrip(',')2、复制字符串#strcpy(sStr1,s
- 前言pandas对数据框也可以像excel一样进行数据透视表整合之类的操作。主要是针对分类数据进行操作,还可以计算数值型数据,去满足复杂的分
- 在JAVA WEB应用中,如何获取servlet请求中的参数,并传递给跳转的JSP页面?例如访问http://localhost:8088/
- 目录准备数据集导入所需的软件包将数据从文件加载到Python变量拆分数据进行训练和测试标记化并准备词汇预处理输出标签/类建立Keras模型并
- 1、登录SMTP服务器首先使用网上的方法(这里使用163邮箱,smtp.163.com是smtp服务器地址,25为端口号):import s
- 身体是革命的本钱,身体健康了我们才有更多精力做自己想做的事情,追求女神,追求梦想。然而程序员是一个苦比的职业,大部分时间都对着电脑,我现在颈
- 隐写术是在任何文件中隐藏秘密数据的艺术。秘密数据可以是任何格式的数据,如文本甚至文件。简而言之,隐写术的主要目的是隐藏任何文件(通常是图像、
- sql="select * from admin where users='"&users&&q
- 使用JS技术实现QQ阅读类似的点击展开、收起效果,具体内容如下一、定义展开函数showdiv(),实现点击"全文"按钮,
- 这个东西很重要,可以经常用在项目当中,所以我们单独拿出来进行讲解。在使用它之前我们需要导包: go get golang.org/
- 前言标准的 Bloom Filter 是一种比较简单的数据结构,只支持插入和查找两种操作。在所要表达的集合是静态集合的时候,标准 Bloom
- 公共的抽象基类import numpy as npfrom abc import ABCMeta, abstractmethodclass
- 简介:外部连接和自联接inner join(等值连接) 只返回两个表中联结字段相等的行left join(左联接) 返回包括左表中的所有记录
- 大家在使用PyCharm的过程中,肯定会遇到各种各样的问题,其中一个问题就是很多第三方的包安装不了。在使用过程中,我对这种情况进行了总结,现
- 前言文章包括下几点:考点--操作SQLite数据库:创建SQLite数据库;向表中插入记录;其他数据库操作。面试题:1.面试题一:如何创建S
- tf.reverse_sequence()简述在看bidirectional_dynamic_rnn()的源码的时候,看到了代码中有调用 r