资源简介
VS+OPENCV做的手势识别
代码片段和文件信息
#include“process.h“
//#include“variable.h“
using namespace std;
extern CvSize sz;
extern CvSize newSize;
extern IplImage *tmp1;
extern IplImage *tmp2;
extern IplImage *tmp3;
extern IplImage *src1;
extern IplImage *src2;
extern IplImage *src3;
extern IplImage* smooth1;
extern IplImage* smooth2;
extern IplImage* smooth3;
extern IplImage* smooth4;
extern IplImage* smooth5;
extern CvSeq* handT ;
extern int pmsf_value ;//均值飘逸分割平滑系数
extern CvSeq* seqMidObj;//塞选后的轮廓集合
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
int main()
{
int c = 0;
double scale = 0.5;
//打开摄像头
//CvCapture* capture = cvCaptureFromCAM(1);
cv::VideoCapture Capture(0);
if (!Capture.isOpened())
{
return -1;
}
//扑捉第一帧图像
cv::Mat frame_sr;
Capture >> frame_sr;
//mat结构向IplImage转换
IplImage imgTmp = frame_sr;
IplImage *src = cvCloneImage(&imgTmp);
//获得图像大小
sz = cvGetSize(src);
newSize.height = (int)(sz.height * scale);
newSize.width = (int)(sz.width * scale);
sz = newSize;
//重新调整图像大小
//resizeSrc();
//建立所有窗体
resizeAllWindow();
tmp1 = cvCreateImage(sz IPL_DEPTH_8U 1);
tmp2 = cvCreateImage(sz IPL_DEPTH_8U 3);
tmp3 = cvCreateImage(sz IPL_DEPTH_8U 3);
src1 = cvCreateImage(sz IPL_DEPTH_8U 3);
src2 = cvCreateImage(sz IPL_DEPTH_8U 3);
src3 = cvCreateImage(sz IPL_DEPTH_8U 3);
smooth1 = cvCreateImage(sz IPL_DEPTH_8U 1);
smooth2 = cvCreateImage(sz IPL_DEPTH_8U 1);
smooth3 = cvCreateImage(sz IPL_DEPTH_8U 1);
smooth4 = cvCreateImage(sz IPL_DEPTH_8U 1);
smooth5 = cvCreateImage(sz IPL_DEPTH_8U 1);
init_hand_YCrCb();
init_hand_HSV();
init_laplace();
inti_threshold();
//载入匹配的模板
init_hand_template();
/////////////////////开始循环///////////////////////////////
while (c != 27)
{
//继续扑捉当前视频贞
Capture >> frame_sr;
sharpenImage1(frame_sr frame_sr);//图像进行锐化处理
IplImage imgTmp = frame_sr;
IplImage *src = cvCloneImage(&imgTmp);
//缩小要处理的图像(减小运算量)
cvResize(src src1 CV_INTER_LINEAR);
cvShowImage(“src“ src1);
cvPyrMeanShiftFiltering(src1 src2 pmsf_value 40 2);
cvSmooth(src2 src3 CV_GAUSSIAN3 0 0 0);
cvShowImage(“高斯去噪“ src3);
//sharpenImage1(src2 src2);//图像进行锐化处理
//cvCvtColor(src2 src2 CV_BGR2YCrCb);
//cvConvertScale(src2 src2 1.0 / 255.0 0);//将原图RGB归一化到0-1之间
//cvCvtColor(src2 src2 CV_BGR2HSV);//得到HSV图
//cvShowImage( “均值漂移分割“ tmp4);
//拉普拉斯变换主要用于边缘检测
toLaplace(src3);
////hsv色彩提取
hand_HSV();
////YCrCb色彩提取
//hand_YCrCb();
////阀值化
//threshold();
////降噪
reduce_noise();
////寻找手轮廓
hand_contours(smooth1);
////hand_contours(planes[2]);
////hand_contours(tmp2);
////处理(未使用)
////handProcess(seqMidObj);
////寻找匹配
hand_template_match(handT seqMidObj);
////求手的移动方向
hand_direction(seqMidObj);
////绘制额外信息
cvZero(tmp2);
hand_draw(tmp2 seqMidObj); //绘制在检测窗口
h
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 94720 2016-02-27 17:07 OpenCVtestTwo_new\Debug\OpenCVtestTwo.exe
文件 573068 2016-02-27 17:07 OpenCVtestTwo_new\Debug\OpenCVtestTwo.ilk
文件 1813504 2016-01-28 19:11 OpenCVtestTwo_new\Debug\OpenCVtestTwo.pdb
文件 307254 2016-01-27 14:54 OpenCVtestTwo_new\OpenCVtestTwo\1.bmp
文件 307254 2016-01-27 15:00 OpenCVtestTwo_new\OpenCVtestTwo\10.bmp
文件 307254 2016-01-27 14:56 OpenCVtestTwo_new\OpenCVtestTwo\2.bmp
文件 307254 2016-01-27 14:56 OpenCVtestTwo_new\OpenCVtestTwo\3.bmp
文件 307254 2016-01-27 14:57 OpenCVtestTwo_new\OpenCVtestTwo\4.bmp
文件 307254 2016-01-27 14:58 OpenCVtestTwo_new\OpenCVtestTwo\5.bmp
文件 307254 2016-01-27 14:58 OpenCVtestTwo_new\OpenCVtestTwo\6.bmp
文件 307254 2016-01-27 14:59 OpenCVtestTwo_new\OpenCVtestTwo\7.bmp
文件 307254 2016-01-27 14:59 OpenCVtestTwo_new\OpenCVtestTwo\8.bmp
文件 307254 2016-01-27 15:00 OpenCVtestTwo_new\OpenCVtestTwo\9.bmp
文件 182743 2016-02-27 17:07 OpenCVtestTwo_new\OpenCVtestTwo\Debug\main.obj
文件 1656 2016-01-23 15:45 OpenCVtestTwo_new\OpenCVtestTwo\Debug\OpenCVtestTwo.Build.CppClean.log
文件 94720 2016-01-28 19:11 OpenCVtestTwo_new\OpenCVtestTwo\Debug\OpenCVtestTwo.exe
文件 609048 2016-01-28 19:11 OpenCVtestTwo_new\OpenCVtestTwo\Debug\OpenCVtestTwo.ilk
文件 4231 2016-02-27 17:07 OpenCVtestTwo_new\OpenCVtestTwo\Debug\OpenCVtestTwo.log
文件 1813504 2016-01-28 19:11 OpenCVtestTwo_new\OpenCVtestTwo\Debug\OpenCVtestTwo.pdb
文件 2602 2016-02-27 17:07 OpenCVtestTwo_new\OpenCVtestTwo\Debug\OpenCVtestTwo.tlog\cl.command.1.tlog
文件 83820 2016-02-27 17:07 OpenCVtestTwo_new\OpenCVtestTwo\Debug\OpenCVtestTwo.tlog\CL.read.1.tlog
文件 2746 2016-02-27 17:07 OpenCVtestTwo_new\OpenCVtestTwo\Debug\OpenCVtestTwo.tlog\CL.write.1.tlog
文件 4866 2016-02-27 17:07 OpenCVtestTwo_new\OpenCVtestTwo\Debug\OpenCVtestTwo.tlog\li
文件 14600 2016-02-27 17:07 OpenCVtestTwo_new\OpenCVtestTwo\Debug\OpenCVtestTwo.tlog\li
文件 1102 2016-02-27 17:07 OpenCVtestTwo_new\OpenCVtestTwo\Debug\OpenCVtestTwo.tlog\li
文件 173 2016-02-27 17:07 OpenCVtestTwo_new\OpenCVtestTwo\Debug\OpenCVtestTwo.tlog\OpenCVtestTwo.lastbuildstate
文件 266782 2016-02-27 17:07 OpenCVtestTwo_new\OpenCVtestTwo\Debug\processfuction.obj
文件 732160 2016-02-27 17:07 OpenCVtestTwo_new\OpenCVtestTwo\Debug\vc120.idb
文件 937984 2016-02-27 17:07 OpenCVtestTwo_new\OpenCVtestTwo\Debug\vc120.pdb
文件 3627 2016-01-24 17:11 OpenCVtestTwo_new\OpenCVtestTwo\main.cpp
............此处省略51个文件信息
相关资源
- 红外手势识别传感器STM32代码
- TensorFlow入门:使用卷积网络模型实现
- 基于Kinect体感摄像头的手势识别算法
- opencv学习手势轮廓识别源代码
- FDC2214手势识别原理图+PCB+中文手册
- APDS9960手势识别程序源码
- 电赛D题一等奖论文
- 完整版APDS9960手势识别源码
- 手势识别竞赛项目
- stm32-手势识别
- AnyHand1.0 手势识别库
- 基于 Ki nec t 的实时手势识别
- 使用OpenCV 手势识别
- CNN手势识别
- 手势识别源代码+说明文档绝对原创、
- 手势识别项目源码(vs2015)
- 2018电赛 手势识别for MSP430F5529 oled图形
- 手势控制小车运动,交互程序和效果
- VS2013+OpenCV2.4.10提取傅里叶描述子特征
- VS2013+OPENCV2.4.10 提取HOG特征使用SVM多分
- 手势识别代码上,下,左,右
- 手势识别代码
- UnityVR手势识别插件VR Infinite Gesture1.
- mnist数据集162914
- 手势识别论文
- 几个基于openCV开发的手势识别代码
- 手势识别源代码 + 说明文档
- 基于Opencv的手势识别147077
- 手势识别数据库已标记
- opencv实现两种手势识别
评论
共有 条评论