经过两个月左右努力,基于OpenCV3和C++的手势识别系统设计完结。
从OpenCV概述及安装配置教程到本篇博客:基于OpenCV3和C++的手势识别系统设计(完结),花费了大量精力,下面简单介绍一下本手势识别设计。
一、项目介绍
本次做的项目主要是利用奥比中光Astra mini摄像头进行手势识别,但是由于Astra mini摄像头存在一些局限性,我选择首先利用电脑自带摄像头进行手势识别,等调试运行成功后,再将其代码移植到Astra mini上。
奥比中光官网:https://developer.orbbec.com.cn/
Astra mini:
这里介绍一下为什么使用C++。
因为Astra mini的OpenNI库目前只支持Visual Studio调用,因此项目使用Visual Studio2017和OpenCV3(也兼容OpenCV4)进行编程设计。
二、项目流程图
项目主要流程如下:
三、显示结果
经过支持向量机训练,验证得其准确率为:98%
显示结果示例:
1:
3:
5:
四、代码实现
代码包括两部分,既可以利用电脑自带摄像头进行手势识别,也可以利用Astra mini的OpenNI库进行手势识别,更加方便。
【注意】:本项目不包含手势跟踪部分,手势跟踪请自行设计。
由于投入了不少精力和时间,以及走了大量的弯路,代码如下:
基于OpenCV3和C++的电脑摄像头手势识别代码链接:https://download.csdn.net/download/didi_ya/87379716;
基于OpenCV3和C++的Astra深度感知摄像头手势识别代码链接:https://download.csdn.net/download/didi_ya/87379771;
利用电脑摄像头手势识别相关程序的运行视频如下:https://www.ixigua.com/7231390374453838374;Astra深度感知摄像头手势识别类似,这里不再进行展示。