基于Python+Open CV的手势识别算法设计

素材资料下载:

目录

1. 课题背景及分析

2. 算法设计

3. 算法实现与调试

4. 实验结果及分析

5. 今后研究及改进计划

6. 设计总结

7. 主要参考书目

8. 附件

1. 课题背景及分析

1.1 课题背景

(1)所选课题的应用背景;

伴随着人工智能时代的到来,人机交互的领域也逐渐成为研究的一大方向;其中,手势识别是人机交互领域的一项关键技术,自此手势识别也迎来了一波高潮,近几年无论是在消费领域、电子领域、数码领域、家电领域甚至汽车领域上,都能或多或少的见到手势识别的身影。

手势识别在设计智能高效的人机界面方面具有至关重要的作用, 目前手势识别已应用到手语识别、智能监控、到虚拟现实等各个领域,手势识别的原理都是利用各种传感器(例如红外、摄像头等)对手部的形态进行捕捉并进行建模,形成一个模型信息的序列帧,而后将这些信息序列转换为机器能够识别的相对应指令(例如打开、切换菜单、移动等)来完成控制。

(2)课题的关键技术难点及技术现状;

手势识别是指计算机对人体运动的数学解释,为了提供必要的任务辅助,计算机需要正确地理解人类的手势,并根据手势的预定义指令进行操作。手势识别技术通常有数据采集、数据预处理、特征提取和识别分类几个不同技术阶段。目前手势识别主要有基于计算机视觉、基于超声波和基于惯性传感器三种实现方式

个人在进行手势识别算法设计面临的关键技术难点在于Open CV库的使用不是很熟练,有些Open CV库中的函数使用有很多不理解的地方,因此,本人在进行手势识别算法设计前,需要将所必须要用到的函数先进行温习和学习,才能运用到课题当中,

(3)设计基本思想及设计内容;

由于个人在本次课题之前已经学完HTML5(广义上,HTML5=HTML5本身+CSS3+JavaScript),Python,并可以熟练运用Python的集成开发环境Pycharm进行课题的设计,再加上对Open CV库的学习,(Open CV是一个用于图像处理、分析、机器视觉方面的开源函数库),本次手势识别算法设计将采用Python+Open CV的形式进行算法设计。基本思路及设计内容如下:(HTML5如何运用到手势识别中,本人还未有逻辑思路,因此本次课题设计只采用Python+Open CV的形式进行算法设计,后续本人将继续学习,争取将所学的知识都可以使用上。)

采用Python的集成开发环境Pycharm进行本次课程设计,在Pycharm中进行需要库(模块)的下载,调取电脑摄像头,按帧读取摄像头采集到的头像,形态学处理,图像旋转(由于摄像头采集到的图像是镜像,需要用cv2.flip将摄像头采集到的图像进行处理),选取图片中固定位置作为手势输入,用红线画出手势识别框,基于hsv的肤色检测,进行高斯滤波,找出轮廓,求出图像中手势的凹凸点,手指间角度求取。

2. 算法设计

  1. 整体算法设计:然后对流程图中的每个步骤加以说明;

手势识别算法设计流程图如下:

基于Python+Open CV的手势识别算法设计
  1. 用户手势:通过Open CV库中的VideoCapture()调取的摄像头进行手势的采集,通过Open CV库中的isOpened()进行初始化设置,搭配循环while和read()达到循环一直读取图像的效果。
  2. 手势的检测与分割:采取的图像都是属于二维RGB形式的图像,它是通过红色(R)、绿色(G)和蓝色(B)来实现彩色图像的。它本身是采用DIE三维色彩空间,RGB的色彩值是0–255,一共256级。0位色彩最弱的部分,呈现的颜色是黑色;而255表示色彩最强的部分,呈现的颜色是白色,这里采取hsv的肤色检测,进行人体手部的检测。
  3. 特征提取:进行高斯滤波,通过mask(mask=cv2.inRange)把HSV图片中在颜色范围内的区域变成白色,其他区域变成黑色;设置阈值去除背景部分,得到想要的区域
  4. 手势识别:通过手部摆出手势的特征进行识别(例如手指的个数,手指间的角度,手部的凹凸数);需要在后面条件判断中加入手势的特性,才可进行手势识别。
  5. 设置指令:这里通过if条件判断进行设置指令,根据手势特征进行定义(例如手指的个数,手指间的角度,手部的凹凸数),进行条件判断;如果符合条件,便进行输出;如果没有符合条件的,将不显示出来,直至显示出设定的指令为止。

  6. 具体算法选择与比较:

第一点:加载图片,无论用cv2导入一张静态手势图片还是用摄像头导入实时图片都可以;这里由于直接调取摄像头方便一些,因此本人在这里直接选取调取摄像头获取实时图片。但是与静态手势图片相比较,静态图片在拍摄时可以防止光线,背景颜色等因素,结果会更具有真实性。

第二点: 肤色检测,基于HSV颜色空间H,S,V范围筛选法 HSV中 7

Original: https://blog.csdn.net/qq_57587705/article/details/123937333
Author: 努力学习前端的小陈
Title: 基于Python+Open CV的手势识别算法设计

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/721202/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球