OpenCv实现手势识别.docVIP

  • 87
  • 0
  • 约2.03千字
  • 约 7页
  • 2019-04-07 发布于天津
  • 举报
OpenCv实现手势识别 第一部分环境搭建与算法设计 环境搭建: 分别安装Visual Studio 2008和opencv-2.1.0-win32-vs2008,安装OpenCV的过程中注意选择添加环境变量,把 “add it to your Current User PATH “前的复选框勾上 . 包含相关的库文件、头文件和源文件,过程如下: ??工具-选项-项目和解决方案-vc++目录, ??“显示一下内容的目录”下拉列表中选择“包含文件”,添加条目 “D:\Program Files\OpenCV2.1\include\opencv”; ??“显示一下内容的目录”下拉列表中选择“库文件” ,添加条目 “D:\Program Files\OpenCV2.1\lib”; ? 显示一下内容的目录下拉列表选择“源文件”,添加条目 ”D:\Program Files\OpenCV2.1\src\cv” , ”D:\Program Files\OpenCV2.1\src\cvaux” , ”D:\Program Files\OpenCV2.1\src\cxcore” , ”D:\Program Files\OpenCV2.1\src\highgui”。 ????点击“确定”。 建立工程与配置工程: 新建工程(或者叫解决方案),在解决方案资源管理器中右键点击项目名称opencvhello,选择“属性”, ?????? 在“配置(C)”下拉列表中选择Debug, 然后“配置属性”-“链接器”-“输入”-附加依赖项,添加??? cxcore210d.lib cv210d.lib highgui210d.lib 在“配置(C)”下拉列表中选择Release, 然后“配置属性”-“链接器”-“输入”-附加依赖项,添加??cxcore210d.lib cv210d.lib highgui210d.lib 中间如果提示要保存的话,就保存。最后点击确定。 功能模块: 样本采集:初始化摄像头,代码如下: CvCapture* capture=cvCaptureFromCAM(0); 然后通过逐祯图像进行肤色检测,然后将检测出的样本并保存到图像文件中。 样本训练:运用样本采集到的图像样本进行训练,提示训练成功 void CAIGesture::Train()//对指定训练文件夹里面的所有手势进行训练 手势识别:从摄像头采集图片进行手势识别, 这个过程首先要用一定大小的矩形模糊地定位到手势大概区域,下一步进行识别,并把识别的结果显示在窗口上。 命令手势:从摄像头中取得图像并进行手势命令的识别,识别的依据是通过最初坐标与最终坐标的相对值进行的,对一个序列进行识别,pt[8]是输入的个点,result为输出的结果,flag为判断是否为第一次,因为只有两次识别才认为是命令把结果进行输出。 手势定位:把要识别的图片输入到数据中,然后检测出手的位置。再用矩形对此图片的手势进行进行定位,并且要对此手势大概表达的意思(即是表达哪个数字)进行识别,识别是基于已有的图像进行匹配。最后输出结果。 第二部分手势识别测试结果 各个功能模块的测试 样本采集 其主要功能是为了测试程序的初始化摄像头、从摄像头读取帧数据是否成功。成功就弹出 一个显示当前摄像头区域的图像。该图像为二值化图像。当按下ESC键的时候训练窗口自动关闭。如果电脑没有摄像头设备就弹出窗口,表示摄像头初始化失败。 (1)当电脑存在摄像头设备的时候,样本采集效果如下: 图1.1样本采集图 (2)当电脑不存在摄像头设备的时候结果如下 图1.2初始化摄像头失败 样本训练 功能:主要是为了训练本程序所要打开的文件是否可以从键盘读入成功,例如手势图像匹配库、手势特征文件等要读入的为后面程序的测试提供匹配资源文件。如果都可以训练成功那么就弹出一个窗口表示程序读入文件都可以成功。 图2.1训练结果成功 手势识别 功能:可以识别手势所表示的意义, (1)如下为可以成功识别的手势: 图3.1识别手势1 图3.2识别手势2 图3.3识别手势3 图3.4识别手势4 (2)如下是不成功的识别手势 图3.5手势5识别不成功 图3.6手势5识别不成功 (3)程序中的一些bug 图3.7不应该对背景识别 分析:应该把静态的或者在一段时间内保持有规律反复运动的物体看做背景图。这样就不会对手势识别的时候造成干扰。但是本程序还可以对静态的背景图当做目标物体进行识别。这个是需要改进的地方。 命令手势 功能:主要进行跟踪手势的动作。如果手势向后移动就弹出后退的窗口。表示程序捕获了手势后退的动作。 但是该功能不是十分的成功,因为对算法的设计问题使得程序对手的动作捕获出现不稳定的现象。就是说有时候可以捕获成功,有时候不可以捕获成功

文档评论(0)

1亿VIP精品文档

相关文档