opencv 手势识别 【附源代码】

我使用OpenCV2.4.4的windows版本+Qt4.8.3+VS2010的编译器做了一个手势识别的小程序。

本程序主要使到了Opencv的特征训练库和最基本的图像处理的知识,包括肤色检测等等。

废话不多,先看一下基本的界面设计,以及主要功能:

opencv 手势识别 【附源代码】_第1张图片

相信对于Qt有一些了解的人都不会对这个界面的设计感到陌生吧!(该死,该死!)我们向下走:

紧接着是Qt导入OPenCV2.4.4的库文件:(先看一下Qt的工程文件吧)

#-------------------------------------------------
#
# Project created by QtCreator 2013-05-25T11:16:11
#
#-------------------------------------------------

QT       += core gui

CONFIG += warn_off

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = HandGesture
TEMPLATE = app

INCLUDEPATH += E:/MyQtCreator/MyOpenCV/opencv/build/include

SOURCES += main.cpp\
        handgesturedialog.cpp \
    SRC/GestrueInfo.cpp \
    SRC/AIGesture.cpp

HEADERS  += handgesturedialog.h \
    SRC/GestureStruct.h \
    SRC/GestrueInfo.h \
    SRC/AIGesture.h

FORMS    += handgesturedialog.ui

#Load OpenCV runtime libs

当做好以上的基本配置之后,我们进行手势识别的开发:

第一:要采集到原始的图片


采集好原始图片后进行修正,包括尺寸大小,那时我还使用到了matlab这个强大的工具,

紧接着进行图像的样本特征提取,到网上把,CSDN中有大量的关于对图像特征训练库的识别与训练,按照他们一步一步的操作模式不会有问题的饿

下面是要通过摄像头进行图像的采集,直接贴代码:


查看一下样例图片:

opencv 手势识别 【附源代码】_第2张图片


opencv 手势识别 【附源代码】_第3张图片


基本上对于自己使用代码创建的训练库的特征提取函数和基本的肤色检测和连通域的检测的函数的核心代码都已经贴到上面去了。

然后再看一下对于特定的手势识别的文件:


注意该特征文件包含了手掌半握式的手势效果较好:

opencv 手势识别 【附源代码】_第4张图片


多谢大家,这么长时间的阅读和浏览,小弟做的很粗糙还有一些地方自已也没有弄明白,希望各位大神批评指教!

 

我已把源代码上传到对应的资源中去,以便大家学习修改!

http://download.csdn.net/detail/liuguiyangnwpu/7467891

https://github.com/liuguiyangnwpu/HandGesture

你可能感兴趣的:(数据挖掘和图像处理)