Python+OpenCV3简单手势识别_python蔡徐坤打篮球姿态检测-程序员宅基地

技术标签: python学习  


今天教大家一个有趣的玩法,如何利用Python+opencv3实现简单的手势识别。当然网上也有相关教程,但绝大多数给出的代码拿来之后你是不能直接用的,这对于拿来主义的同学来说简直太“禽兽”了。所以今天我也会给出所有代码,只要配置好环境就可以运行。话不多说接下来就进入正题。

安装相关库

这个安装库的重要性就不用我多说了,但凡是想直接用人家的代码,就要安装人家运行所需的全部库。

pip install opencv-python

pip install opencv-contrib-python

pip install numpy

原理简述

第一步: 加载图片,无论你是用cv2导入一张静态手势图片还是用摄像头导入实时图片都可以。
第二步: 肤色检测,基于HSV颜色空间H,S,V范围筛选法 HSV中 7<H<20 28<S<256 50<V<256
第三步: 进行高斯滤波
第四步: 边缘轮廓检测
第五步: 求出手势的凹凸点
第六步: 利用凹凸点个数判断当前手势,例如:0个凹凸点就是拳头,4个凹点就是布也就是5。

代码

接下来就是你们最开心的 时刻了-看代码。哈,你们高兴的太早了,我的代码注释很少的。所以。。。。我尽量添上注释。

我明说了,代码虽然可以运行,但有BUG,要在一个地方加异常判断,否则如果没检测到手的话程序就会报错退出,至于在哪加相信也不难,你们好好优化吧。问我,我可是要收费的。手动dog

# _*_ coding: UTF-8 _*_
import cv2
import numpy as np
import math
cap = cv2.VideoCapture(0)

while(cap.isOpened()):
    ret,frame = cap.read() # 读取摄像头每帧图片
    
    frame = cv2.flip(frame,1)
    kernel = np.ones((2,2),np.uint8)
    roi = frame[100:300,100:300] # 选取图片中固定位置作为手势输入

    cv2.rectangle(frame,(100,100),(300,300),(0,0,255),0) # 用红线画出手势识别框
    # 基于hsv的肤色检测
    hsv = cv2.cvtColor(roi,cv2.COLOR_BGR2HSV)
    lower_skin = np.array([0,28,70],dtype=np.uint8)
    upper_skin = np.array([20, 255, 255],dtype=np.uint8)
    
    # 进行高斯滤波
    mask = cv2.inRange(hsv,lower_skin,upper_skin)
    mask = cv2.dilate(mask,kernel,iterations=4)
    m
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_25939803/article/details/106414495

智能推荐

selenium又一小坑 无法用XPATH直接获取属性值 需要使用.get_attribute(“href”)_.get_attribute()获取xpath-程序员宅基地

在使用selenium进行抓取url的时候,试图使用find_elements_by_xpath来获取。 因此想当然的直接使用XPATH的语法进行获取属性 事例缩略后xml结构如下

mysql 5.7 for mac_Mac版MySQL5.7下载-程序员宅基地

MySQL 5.7.19 for Mac是一款可以在苹果电脑MAC OS平台上使用的多线程的、结构化查询语言(SQL)数据库服务器,是一个非常不错的数据库工具,SQL 在世界上是最流行的数据库语言。MySQL的执行性能非常高,运行速度非常快,并非常容易使用,本站提供了Mac版MySQL5.7下载地址,有需要的朋友们欢迎前来下载使用。小编提示MySQL 是最流行的关系型数据库管理系统之一,目前市面上..._mysql 5.7 dmg 下载

【笨鸟先飞】Java重新学习日记14--设计模式之策略模式_java游戏笨鸟先飞ppt-程序员宅基地

设计模式的某一个模式,是用来解决某一种特定情况下,简单的逻辑会导致代码复杂甚至冗余。如果程序的某个方法,存在有好几种并行的处理手段。那么我们最好是采用if...else if...或switch...case...但,如果这些处理手段复杂度高,使用范围不小----通常是算法。采用策略模式方法,会在灵活性,耦合度,代码维护难度,算法保护等方面具有优势。策略模式是用方法的重写带替代不同名字的方_java游戏笨鸟先飞ppt

Windows 7 with SP1中英文原版MSDN下载汇总(全版本收录完毕)-程序员宅基地

文件SHA1校验工具 IHasher(来自于http://msdn.itellyou.cn)http://msdn.itellyou.cn/download.aspx?lastversion=ihasher(32位+64位)单独的SP1安装包(来自于http://msdn.itellyou.cn 和微软官网,多语言版本)Windows 7 and Window Server 2008 R2 Se...

git和小乌龟下载安装路径_git小章鱼下载_九头鸟大师的博客-程序员宅基地

1.先下载git,按照相应的系统,https://git-scm.com/downloads,然后,一直next即可完成安装2.安装git小乌龟,https://tortoisegit.org/download/,同样的,一直next即可完成安装,但是,需要注意的是必须先安装git,在安装git小乌龟3.安装语言包,同样是https://tortoisegit.org/download/,然后一直next即可,要先装完小乌龟在安装语言包。..._git小章鱼下载

数据结构入门到精通学习(一)-程序员宅基地

在很多人初学者眼里,数据结构学了并没有什么很大的用处,学习数据结构所获得的成就感远不如学一门像C++,Java这样的编程语言,最开始我学习数据结构的时候也是这么想的,那些老师课堂上讲的各种数据结构算法,总会把我绕得云里雾里,学完之后还根本不知道怎么用,于是学得一塌糊涂。但是在后来参加比赛接触了一些更加复杂的系统之后,才深深意识到数据结构的重要性。总而言之,用当初教我们的老师的一句话来说就是:“数据

随便推点

3DsMax渲染插件VRay NEXT完整的视频指南_vray-next创建新钩子在哪里的-程序员宅基地

要求基本的计算机和三维软件知识这门课程对初学者和进阶者都有好处我们确实经历了许多你甚至不知道存在的功能VRay NEXT for 3Ds Max – Complete Video Guide欢迎来到V-RAY视频手册流派:电子学习| MP4 |视频:h264,1280×720 |音频:aac,44100 Hz语言:英语+中英文字幕(根据原英文字幕机译更准确) |大小解压后:6.65 GB |时长:7小时VRay NEXT的所有功能和特性,以视频示例的形式逐步展示。VRay.._vray-next创建新钩子在哪里的

【单片机】2.8 AT89S52单片机的最小应用系统_at89s52单片机的应用-程序员宅基地

2.8 AT89S52单片机的最小应用系统AT89S52本身片内有8KB闪烁存储器,256B的RAM单元,4个I/O口,外接时钟电路和复位电路即构成了一个AT89S52单片机最小应用系统,如图2-19所示。该最小应用系统只能作为小型的数字量的测控单元。..._at89s52单片机的应用

Android弹出浮窗对话框-程序员宅基地

new AlertDialog.Builder(Login.this) .setIcon(getResources().getDrawable(R.drawable.login_error_icon)) .setTitle("登录错误") .setMessage("微信帐号或..._安卓对话浮窗

7.6有向无环图应用之关键路径-程序员宅基地

7.6有向无环图应用之关键路径关键路径有向图在工程计划和经营管理中有着广泛的应用。通常用有向图来表示工程 计划时有两种方法:(1)用顶点表示活动,用有向弧表示活动间的优先关系,即上节所讨论的 AOV 网。(2)用顶点表示事件,用弧表示活动,弧的权值表示活动所需要的时间。把用第二种方法构造的有向无环图叫做边表示活动的网(Activity On Edge Network),简称 AOE-网AOE-网在工程计划和管理中很有用。在研究实际问题时,人们通常关心的是:哪些活动是影响工程进度的关键活动

火影手游饰品分解_赤魂饰品分解图-程序员宅基地

有关火影忍者手游饰品的攻略。_赤魂饰品分解图

Mac用超快速ocr文字识别免费桌面小工具Text Scanner for Mac-程序员宅基地

今天发现个快速识别图片文字OCR免费小工具。Text Scanner mac免费版版是全新功能强大的文字识别图片应用,更好的为用户带来文字识别、卡证照识别等一系列功能,更好的将图片上的文字内容,转换为可编辑文本!text scanner for Mac软件介绍Text Scanner Mac版是一款功能强大的图片扫描文字识别工具, 基于AI领先的深度学习算法,利用光学字符识别...