手势控制小车运动,交互程序和效果视频


手势交互控制小车运动,轨迹模拟。包含指导文件和代码。
资源截图
代码片段和文件信息

#include “stdafx.h“
#include “cv.h“

#include 
#include 

//#include 
//#include   

#include 

#include         // for standard I/O
#include    // for strings
#include   // for controlling float print precision
#include   // string to number conversion


#include   // Gaussian Blur
#include         // Basic OpenCV structures (cv::Mat Scalar)
#include   // OpenCV window I/O

using namespace cv;
using namespace std;

#define NO_CAMERA_BUG 1

int pmsf_value = 5;//均值飘逸分割平滑系数
int MopEx_value = 2;//开运算
int Hmatch_value = 25;//模板匹配系数

//亮度
int V_low = 30;
int V_high = 250;
//饱和度
int S_low = 40;
int S_high = 170;
//色相
int H_low_max = 40;
int H_high_min = 100;
int if_high_light = 1; //是否高光补偿

IplImage *src = 0;
IplImage *srcResize = 0;

IplImage *img_YCrCb = 0;
CvSize newSize;
CvSize sz;

IplImage *tmp1;
IplImage *tmp2;
IplImage *tmp3;
IplImage *tmp4;
IplImage *src2;
IplImage *src1;

////////////////////////////////////////////////////////////////////////////////////////////////////////////////
IplImage *YCrCb;
IplImage *YCrCb_mask;
IplImage *Y_channel *Cr_channel *Cb_channel;
IplImage *Y_cmp *Cr_cmp *Cb_cmp;

CvScalar Y_lower;
CvScalar Y_upper;

CvScalar Cr_lower;
CvScalar Cr_upper;

CvScalar Cb_lower;
CvScalar Cb_upper;

CvScalar YCrCb_lower;
CvScalar YCrCb_upper;

///////////////////////////////////////////////////////////////////////////////////////////////////////////////
//初始化YCrCb颜色空间
void init_hand_YCrCb()
{
//
img_YCrCb = cvCreateImage(sz 8 3);
YCrCb_mask = cvCreateImage(sz IPL_DEPTH_8U 1);;

//最终的图片
YCrCb = cvCreateImage(sz IPL_DEPTH_8U 3);


//三通道
Y_channel = cvCreateImage(sz IPL_DEPTH_8U 1);
Cr_channel = cvCreateImage(sz IPL_DEPTH_8U 1);
Cb_channel = cvCreateImage(sz IPL_DEPTH_8U 1);

//按范围截取后
Y_cmp = cvCreateImage(sz IPL_DEPTH_8U 1);
Cr_cmp = cvCreateImage(sz IPL_DEPTH_8U 1);
Cb_cmp = cvCreateImage(sz IPL_DEPTH_8U 1);

//YCrCb的颜色范围
Y_lower = CV_RGB(0 0 130);
Y_upper = CV_RGB(0 0 130);

Cr_lower = CV_RGB(0 0 125);
Cr_upper = CV_RGB(0 0 125);

Cb_lower = CV_RGB(0 0 132);
Cb_upper = CV_RGB(0 0 147);

YCrCb_lower = cvScalar(0 0 132 0);
YCrCb_upper = cvScalar(130 125 147 0);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void hand_YCrCb()
{
//转换到YCrBr
cvCvtColor(src2 img_YCrCb CV_RGB2YCrCb);


//分割到YCrCb
cvSplit(img_YCrCb Y_channel Cr_channel Cb_channel 0);

//将Y_channel的位于 Y_lower 和 Y_upper 之间的元素复制到 Y_tmp中
cvInRangeS(Y_channel Y_lower Y_upper Y_cmp);
cvInRangeS(Cr_channel Cr_lower Cr_upper Cr_cmp);
cvInRangeS(Cb_channel Cb_lower Cb_upper Cb_cmp);

//合并YCrCb通道到YCrCb中
cvMerge(Y_cmp Cr_cmp Cb_cmp 0 YC

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2019-01-20 17:07  手势识别控制小车运动
     目录           0  2019-01-20 17:07  手势识别控制小车运动dect
     目录           0  2019-01-20 17:07  手势识别控制小车运动dect.vs
     目录           0  2019-01-20 17:07  手势识别控制小车运动dect.vsdect
     目录           0  2019-01-20 17:07  手势识别控制小车运动dect.vsdectv14
     文件       41472  2017-09-25 15:18  手势识别控制小车运动dect.vsdectv14.suo
     目录           0  2019-01-20 17:07  手势识别控制小车运动dectDebug
     文件      253386  2016-06-16 13:38  手势识别控制小车运动dectDebug3.bmp
     文件       99840  2017-09-25 15:16  手势识别控制小车运动dectDebugdect.exe
     文件      572392  2017-09-25 15:16  手势识别控制小车运动dectDebugdect.ilk
     文件     2584576  2017-09-25 15:16  手势识别控制小车运动dectDebugdect.pdb
     目录           0  2019-01-20 17:07  手势识别控制小车运动dectdect
     文件     5001216  2018-07-05 16:43  手势识别控制小车运动dectdect.sdf
     文件         879  2016-06-16 13:38  手势识别控制小车运动dectdect.sln
     文件       18944  2018-07-05 16:43  手势识别控制小车运动dectdect.suo
     文件       36352  2016-06-16 13:38  手势识别控制小车运动dectdect.v11.suo
     文件       38912  2016-06-17 19:53  手势识别控制小车运动dectdect.v12.suo
     文件    16752640  2017-09-25 15:18  手势识别控制小车运动dectdect.VC.db
     文件     1999044  2016-06-16 13:38  手势识别控制小车运动dectdect1.avi
     文件      138934  2016-06-16 13:38  手势识别控制小车运动dectdect1.bmp
     文件      449707  2016-06-16 13:38  手势识别控制小车运动dectdect1.MOV
     文件      140634  2016-06-16 13:38  手势识别控制小车运动dectdect2.bmp
     文件      139374  2016-06-16 13:38  手势识别控制小车运动dectdect3.bmp
     文件      139582  2016-06-16 13:38  手势识别控制小车运动dectdect4.bmp
     文件       19760  2016-06-16 13:38  手势识别控制小车运动dectdectcar.jpg
     目录           0  2019-01-20 17:07  手势识别控制小车运动dectdectDebug
     文件        1289  2016-06-17 17:11  手势识别控制小车运动dectdectDebugdect.Build.CppClean.log
     文件          98  2016-06-16 13:38  手势识别控制小车运动dectdectDebugdect.lastbuildstate
     文件         974  2018-07-05 16:43  手势识别控制小车运动dectdectDebugdect.log
     文件      339278  2017-09-25 15:16  手势识别控制小车运动dectdectDebugdect.obj
     文件     3407872  2017-09-25 15:16  手势识别控制小车运动dectdectDebugdect.pch
............此处省略59个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)