OpenCV+python手势识别框架和实例讲解


Posted in Python onAugust 03, 2018

基于OpenCV2.4.8和 python 2.7实现简单的手势识别。

以下为基本步骤

1.去除背景,提取手的轮廓

2. RGB->YUV,同时计算直方图

3.进行形态学滤波,提取感兴趣的区域

4.找到二值化的图像轮廓

5.找到最大的手型轮廓

6.找到手型轮廓的凸包

7.标记手指和手掌

8.把提取的特征点和手势字典中的进行比对,然后判断手势和形状

提取手的轮廓 cv2.findContours()

OpenCV+python手势识别框架和实例讲解

找到最大凸包cv2.convexHull(),然后找到手掌和手指的相对位置,定位手型的轮廓和关键点,包括手掌的中心,手指的相对位置

OpenCV+python手势识别框架和实例讲解

特征字典主要包括以下几个方面:名字,手掌中心点,手掌的直径,手指的坐标点,手指的个数,每个手指之间的角度

例如:

# BEGIN ------------------------------------#
V=gesture("V")
V.set_palm((475,225),45)
V.set_finger_pos([(490,90),(415,105)])
V.calc_angles()
dict[V.getname()]=V
# END --------------------------------------#

最终的识别结果如下:

OpenCV+python手势识别框架和实例讲解

示例代码

frame=hand_threshold(fg_frame,hand_histogram)
  contour_frame=np.copy(frame)
  contours,hierarchy=cv2.findContours(contour_frame,cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)
  found,hand_contour=hand_contour_find(contours)
  if(found):
   hand_convex_hull=cv2.convexHull(hand_contour)
   frame,hand_center,hand_radius,hand_size_score=mark_hand_center(frame_original,hand_contour)
   if(hand_size_score):
    frame,finger,palm=mark_fingers(frame,hand_convex_hull,hand_center,hand_radius)
    frame,gesture_found=find_gesture(frame,finger,palm)
  else:
   frame=frame_original

以上这篇OpenCV+python手势识别框架和实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python简单删除目录下文件以及文件夹的方法
May 27 Python
Python对excel文档的操作方法详解
Dec 10 Python
python 随机打乱 图片和对应的标签方法
Dec 14 Python
解决python3中的requests解析中文页面出现乱码问题
Apr 19 Python
Python语言异常处理测试过程解析
Jan 08 Python
Django重设Admin密码过程解析
Feb 10 Python
如何将Pycharm中调整字体大小的方式设置为"ctrl+鼠标滚轮上下滑"
Nov 17 Python
python IP地址转整数
Nov 20 Python
python3代码输出嵌套式对象实例详解
Dec 03 Python
Python 中 sorted 如何自定义比较逻辑
Feb 02 Python
python 中[0]*2与0*2的区别说明
May 10 Python
Pytest中skip和skipif的具体使用方法
Jun 30 Python
Windows下将Python文件打包成.EXE可执行文件的方法
Aug 03 #Python
Python测试网络连通性示例【基于ping】
Aug 03 #Python
python版opencv摄像头人脸实时检测方法
Aug 03 #Python
python 读取摄像头数据并保存的实例
Aug 03 #Python
python+opencv+caffe+摄像头做目标检测的实例代码
Aug 03 #Python
python调用摄像头显示图像的实例
Aug 03 #Python
python开启摄像头以及深度学习实现目标检测方法
Aug 03 #Python
You might like
最简单的PHP程序--记数器
2006/10/09 PHP
将RTF格式的文件转成HTML并在网页中显示的代码
2006/10/09 PHP
php下把数组保存为文件格式的实例应用
2010/02/08 PHP
PHP循环结构实例讲解
2014/02/10 PHP
ThinkPHP中关联查询实例
2014/12/02 PHP
php mailer类调用远程SMTP服务器发送邮件实现方法
2016/03/04 PHP
Yii2.0 模态弹出框+ajax提交表单
2016/05/22 PHP
PHP获取不了React Native Fecth参数的解决办法
2016/08/26 PHP
Prototype使用指南之form.js
2007/01/10 Javascript
让人期待的2011年度最佳 jQuery 插件分享
2012/03/16 Javascript
jquery实现图片左右切换的方法
2015/05/07 Javascript
JavaScript+html5 canvas制作色彩斑斓的正方形效果
2016/01/27 Javascript
jQuery对table表格进行增删改查
2020/12/22 Javascript
深入探索VueJS Scoped CSS 实现原理
2019/09/23 Javascript
ES6中Promise的使用方法实例总结
2020/02/18 Javascript
Vue实现多页签组件
2021/01/14 Vue.js
JS中循环遍历数组的四种方式总结
2021/01/23 Javascript
[06:36]吞吞映像top1
2014/06/20 DOTA
简单介绍使用Python解析并修改XML文档的方法
2015/10/15 Python
Python的装饰器用法学习笔记
2016/06/24 Python
机器学习的框架偏向于Python的13个原因
2017/12/07 Python
Python传递参数的多种方式(小结)
2019/09/18 Python
pytorch 查看cuda 版本方式
2020/06/23 Python
一个非常简单好用的Python图形界面库(PysimpleGUI)
2020/12/28 Python
Tommy Hilfiger美国官网:美国高端休闲领导品牌
2019/01/14 全球购物
GUESS Factory加拿大:牛仔裤、服装及配饰
2019/09/20 全球购物
《母亲的恩情》教学反思
2014/02/13 职场文书
年终总结会主持词
2014/03/25 职场文书
竞选学习委员演讲稿
2014/04/28 职场文书
个人校本研修方案
2014/05/26 职场文书
四风剖析查摆对照检查材料思想汇报
2014/09/24 职场文书
2015年销售助理工作总结
2015/05/11 职场文书
婚宴父母致辞
2015/07/27 职场文书
2016大学生暑期三下乡心得体会
2016/01/23 职场文书
SpringBoot连接MySQL获取数据写后端接口的操作方法
2021/11/02 MySQL
vue使用element-ui按需引入
2022/05/20 Vue.js