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中的localtime()方法使用详解
May 22 Python
CentOS下使用yum安装python-pip失败的完美解决方法
Aug 16 Python
简单学习Python多进程Multiprocessing
Aug 29 Python
Python使用wxPython实现计算器
Jan 30 Python
django项目搭建与Session使用详解
Oct 10 Python
对python 生成拼接xml报文的示例详解
Dec 28 Python
简单了解python中对象的取反运算符
Jul 01 Python
新手入门Python编程的8个实用建议
Jul 12 Python
使用matplotlib绘制图例标签中带有公式的图
Dec 13 Python
python飞机大战 pygame游戏创建快速入门详解
Dec 17 Python
Python编程快速上手——strip()函数的正则表达式实现方法分析
Feb 29 Python
python 读取yaml文件的两种方法(在unittest中使用)
Dec 01 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
重置版游戏视频
2020/04/09 魔兽争霸
一个PHP的QRcode类与大家分享
2011/11/13 PHP
PHP Directory 函数的详解
2013/03/07 PHP
php调用nginx的mod_zip模块打包ZIP文件
2014/06/11 PHP
PHP+Memcache实现wordpress访问总数统计(非插件)
2014/07/04 PHP
yii2中添加验证码的实现方法
2016/01/09 PHP
对比PHP对MySQL的缓冲查询和无缓冲查询
2016/07/01 PHP
深入理解JavaScript系列(1) 编写高质量JavaScript代码的基本要点
2012/01/15 Javascript
复制js对象方法(详解)
2013/07/08 Javascript
Js+Jq获取URL参数的集中方法示例代码
2014/05/20 Javascript
jQuery实现table隔行换色和鼠标经过变色的两种方法
2014/06/15 Javascript
jQuery设置和获取HTML、文本和值示例
2014/07/08 Javascript
在JavaScript的jQuery库中操作AJAX的方法讲解
2015/08/15 Javascript
Easyui笔记2:实现datagrid多行删除的示例代码
2017/01/14 Javascript
jquery实现手机端单店铺购物车结算删除功能
2017/02/22 Javascript
Angualrjs 表单验证的两种方式(失去焦点验证和点击提交验证)
2017/05/09 Javascript
angularjs实现搜索的关键字在正文中高亮出来
2017/06/13 Javascript
详解Vue改变数组中对象的属性不重新渲染View的解决方案
2018/09/21 Javascript
关于uniApp editor微信滑动问题
2021/01/15 Javascript
[03:58]兄弟们,回来开黑了!DOTA2昔日战友招募宣传视频
2016/07/17 DOTA
深入讨论Python函数的参数的默认值所引发的问题的原因
2015/03/30 Python
Python的条件语句与运算符优先级详解
2015/10/13 Python
Django中多种重定向方法使用详解
2019/07/17 Python
Python并发concurrent.futures和asyncio实例
2020/05/04 Python
如何使用python-opencv批量生成带噪点噪线的数字验证码
2020/12/21 Python
MCM英国官网:奢侈皮具制品
2017/04/18 全球购物
手术室护士自我鉴定
2013/10/14 职场文书
2013年大学生的自我鉴定
2013/10/24 职场文书
大学生学习党课思想汇报
2014/01/03 职场文书
证婚人搞笑证婚词
2014/01/10 职场文书
会计电算化个人求职信范文
2014/01/24 职场文书
在校大学生自我评价范文
2014/09/12 职场文书
道德模范事迹材料
2014/12/20 职场文书
创业计划书之宠物店
2019/09/19 职场文书
SpringBoot 整合mongoDB并自定义连接池的示例代码
2022/02/28 MongoDB
Mysql 如何合理地统计一个数据库里的所有表的数据量
2022/04/18 MySQL