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中如何使用朴素贝叶斯算法
Apr 06 Python
python 读取文本文件的行数据,文件.splitlines()的方法
Jul 12 Python
Python判断一个文件夹内哪些文件是图片的实例
Dec 07 Python
Python3实现爬取简书首页文章标题和文章链接的方法【测试可用】
Dec 11 Python
Python元组常见操作示例
Feb 19 Python
python3利用Socket实现通信的方法示例
May 06 Python
python实现五子棋游戏
Jun 18 Python
Python脚本利用adb进行手机控制的方法
Jul 08 Python
Python Django 实现简单注册功能过程详解
Jul 29 Python
matplotlib 曲线图 和 折线图 plt.plot()实例
Apr 17 Python
django-orm F对象的使用 按照两个字段的和,乘积排序实例
May 18 Python
基于PyTorch实现一个简单的CNN图像分类器
May 29 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
mysql 中InnoDB和MyISAM的区别分析小结
2008/04/15 PHP
php面向对象全攻略 (六)__set() __get() __isset() __unset()的用法
2009/09/30 PHP
php select,radio和checkbox默认选择的实现方法
2010/05/15 PHP
php生成PDF格式文件并且加密
2015/06/22 PHP
PHP函数超时处理方法
2016/02/14 PHP
PHP使用ActiveMQ实例
2018/02/05 PHP
详细解读php的命名空间(一)
2018/02/21 PHP
jQuery中获取Radio元素值的方法
2013/07/02 Javascript
JS、CSS加载中的小问题探讨
2013/11/26 Javascript
jQuery函数的第二个参数获取指定上下文中的DOM元素
2014/05/19 Javascript
原生javascript实现拖动元素示例代码
2014/09/01 Javascript
jQuery中removeProp()方法用法实例
2015/01/05 Javascript
js正则表达式验证邮件地址
2015/11/12 Javascript
JavaScript位置与大小(1)之正确理解和运用与尺寸大小相关的DOM属性
2015/12/26 Javascript
JavaScript中文件上传API详解
2016/04/01 Javascript
CSS3 3D 技术手把手教你玩转
2016/09/02 Javascript
js 颜色选择插件
2017/01/23 Javascript
JS使用正则表达式判断输入框失去焦点事件
2019/10/16 Javascript
原生javascript制作贪吃蛇小游戏的方法分析
2020/02/26 Javascript
vue cli4.0项目引入typescript的方法
2020/07/17 Javascript
[52:07]完美世界DOTA2联赛PWL S3 LBZS vs access 第二场 12.10
2020/12/13 DOTA
python感知机实现代码
2019/01/18 Python
机器学习实战之knn算法pandas
2019/06/22 Python
基于python 微信小程序之获取已存在模板消息列表
2019/08/05 Python
HTML5 层的叠加的实现
2020/07/07 HTML / CSS
MYPROTEIN澳大利亚官方网站:欧洲运动营养品牌
2019/06/26 全球购物
巴西24小时在线药房:Drogasil
2020/06/20 全球购物
某公司部分笔试题
2013/11/05 面试题
元宵节晚会主持人串词
2014/03/25 职场文书
员工考核评语大全
2014/04/26 职场文书
优秀共产党员演讲稿
2014/09/04 职场文书
乡镇党的群众路线教育实践活动剖析材料
2014/10/09 职场文书
签订劳动合同通知书
2015/04/16 职场文书
2015年幼儿园大班工作总结
2015/04/25 职场文书
化妆品促销活动总结
2015/05/07 职场文书
golang import自定义包方式
2021/04/29 Golang