资源简介
近年来,手势识别作为新一代人机交互手段,受到了国内外研究学者以及公司的关注和研究,并且取得了突出的成果,在智能电视、游戏娱乐设备、机器人等方面都有了广泛的应用,而且,通过对手势识别技术的研究,可以推动机器设备对视觉感知能力的认识,并将其应用到更多的人工智能领域,使机器设备更好的理解人类的想法和意图,为我们的生活和工作带来更大的好处。本文通过手势分割、边缘检测、特征提取、匹配识别等技术实现了一种能识别五种手势的手势识别系统,可以完成人机交互的基本任务。文件包含有MATLAB代码和DSP代码(DSP代码经在TI公司的C6414芯片测试通过),以及详细的文档说明和PPT展示,方便读者理解。
代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
#include
#include
#pragma DATA_ALIGN (r 32);
#pragma DATA_SECTION (r “.img_buf“);
#pragma DATA_ALIGN (g 32);
#pragma DATA_SECTION (g “.img_buf“);
#pragma DATA_ALIGN (b 8*4);
#pragma DATA_SECTION (b “.img_buf“);
#pragma DATA_ALIGN (Y 8*4);
#pragma DATA_SECTION (Y “.img_buf“);
#pragma DATA_ALIGN (Cb 8*4);
#pragma DATA_SECTION (Cb “.img_buf“);
#pragma DATA_ALIGN (Cr 8*4);
#pragma DATA_SECTION (Cr “.img_buf“);
#pragma DATA_ALIGN (Graydata 8*4);
#pragma DATA_SECTION (Graydata “.img_buf“);
#pragma DATA_ALIGN (edgedata 8*4);
#pragma DATA_SECTION (edgedata “.img_buf“);
//unsigned char srcImage[IMAGEWIDTH*IMAGEHEIGHT];//source image
//unsigned char threshImage[IMAGEWIDTH*IMAGEHEIGHT];//image threshed
int r[240*319]={0}g[240*319]={0}b[240*319]={0} ;
int Y[240*319]={0}Cb[240*319]={0}Cr[240*319]={0} ;
int Graydata[240*319]={0} ;
int edgedata[240*319]={0} ;
#define BM 19778 // 位图的标志
//判断是否是位图在0-1字节
int IsBitMap(FILE *fp)
{
unsigned short s;
fread(&s12fp);
if(s==BM)
return 1;
else
return 0;
}
//获得图片的宽度在18-21字节
/*long getWidth(FILE *fp)
{
long width;
fseek(fp18SEEK_SET);
fread(&width14fp);
return width;
}*/
//获得图片的高度 ,在22-25字节
/*long getHeight(FILE *fp)
{
long height;
fseek(fp22SEEK_SET);
fread(&height14fp);
return height;
} */
//获得每个像素的位数在28-29字节
unsigned short getBit(FILE *fp)
{
unsigned short bit;
fseek(fp28SEEK_SET);
fread(&bit12fp);
return bit;
}
//获得数据的起始位置
unsigned int getOffSet(FILE *fp)
{
unsigned int OffSet;
fseek(fp10LSEEK_SET);
fread(&OffSet14fp);
return OffSet;
}
//获得图像的数据
void getData(FILE* fpint *rint *gint *blong heightlong width)
{
int i j=0;
unsigned char pix[240*3]={0};
fseek(fp getOffSet(fp) SEEK_SET); //找到位图的数据区
for(j=height-1;j>=0;j--){
fread(pix 1 240*3 fp);
for(i=0;i *(r+width*j+i)=pix[i*3+2];
*(g+width*j+i)=pix[i*3+1];
*(b+width*j+i)=pix[i*3];
}
}
return;
}
//边缘检测 Sobel算子
void Sobel_Image(int * Graydatalong widthlong heightint *edgedata){
int Sobel_X[9] = {-101-202-101} ;
int Sobel_Y[9] = {121000-1-2-1} ;
int ij ;
int Threshold = 90 ;
int temp1=0temp2=0temp3=0;
for(i=1;i for(j=1;j temp1 = Sobel_X[0]*(*(Graydata+(i-1)*width+j-1)) + Sobel_X[1]*(*(Graydata+(i-1)*width+j))+Sobel_X[2]*(*(Graydata+(i-1)*width+j+1))+
Sobel_X[3]*(*(Graydata+(i)*width+j-1)) + Sobel_X[4]*(*(Graydata+(i)*width+j))+Sobel_X[5]*(*(Graydata+(i)*width+j+1))+
Sobel_X[6]*(*(Graydata+(i+1)*width+j-1)) + Sobel_X[7]*(*(Graydata+(i+1)*width+j))+Sobel_X[8]*(*(Graydata+(i+1)*width+j+1)) ;
temp2 = Sobel_Y[0]*(*(Graydata+(i-1)*width+j-1)) + Sobel_Y[1]*(*(Graydata+(i-1)*width+j))+Sobel_Y[2]*(*(Graydata+(i-1)*
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 192738 2019-01-06 13:47 陈峰-基于DSP的手势识别系统\DSP代码\GestureRecognition\0.bmp
文件 79158 2019-01-03 17:17 陈峰-基于DSP的手势识别系统\DSP代码\GestureRecognition\1.bmp
文件 134278 2019-01-03 17:17 陈峰-基于DSP的手势识别系统\DSP代码\GestureRecognition\2.bmp
文件 48398 2019-01-03 17:17 陈峰-基于DSP的手势识别系统\DSP代码\GestureRecognition\3.bmp
文件 54838 2019-01-03 17:17 陈峰-基于DSP的手势识别系统\DSP代码\GestureRecognition\4.bmp
文件 319078 2019-01-03 17:18 陈峰-基于DSP的手势识别系统\DSP代码\GestureRecognition\5.bmp
文件 421 2019-01-05 16:00 陈峰-基于DSP的手势识别系统\DSP代码\GestureRecognition\C6416.cmd
文件 218 2019-03-29 17:35 陈峰-基于DSP的手势识别系统\DSP代码\GestureRecognition\cc_build_Debug.log
文件 31547 2019-03-29 17:35 陈峰-基于DSP的手势识别系统\DSP代码\GestureRecognition\Debug\main.obj
文件 3958 2017-04-18 16:06 陈峰-基于DSP的手势识别系统\DSP代码\GestureRecognition\Debug\match.c
文件 967 2019-01-03 16:03 陈峰-基于DSP的手势识别系统\DSP代码\GestureRecognition\Debug\nop.obj
文件 173910 2019-03-29 17:35 陈峰-基于DSP的手势识别系统\DSP代码\GestureRecognition\Debug\Read_Bmp.out
文件 490 2019-03-29 17:35 陈峰-基于DSP的手势识别系统\DSP代码\GestureRecognition\Debug.lkf
文件 1686 2017-04-19 16:24 陈峰-基于DSP的手势识别系统\DSP代码\GestureRecognition\dsk6416.h
文件 255129 2019-03-29 17:35 陈峰-基于DSP的手势识别系统\DSP代码\GestureRecognition\main.asm
文件 9119 2019-03-29 17:35 陈峰-基于DSP的手势识别系统\DSP代码\GestureRecognition\main.c
文件 229734 2019-03-27 15:38 陈峰-基于DSP的手势识别系统\DSP代码\GestureRecognition\picture1.bmp
文件 229734 2019-03-27 15:38 陈峰-基于DSP的手势识别系统\DSP代码\GestureRecognition\picture2.bmp
文件 229734 2019-03-27 15:38 陈峰-基于DSP的手势识别系统\DSP代码\GestureRecognition\picture3.bmp
文件 229734 2019-03-27 15:38 陈峰-基于DSP的手势识别系统\DSP代码\GestureRecognition\picture4.bmp
文件 229734 2019-03-27 15:39 陈峰-基于DSP的手势识别系统\DSP代码\GestureRecognition\picture5.bmp
文件 3072 2019-03-29 17:35 陈峰-基于DSP的手势识别系统\DSP代码\GestureRecognition\Read_Bmp.CS_\FILE.CDX
文件 922 2019-03-29 17:35 陈峰-基于DSP的手势识别系统\DSP代码\GestureRecognition\Read_Bmp.CS_\FILE.DBF
文件 1705 2019-03-29 17:35 陈峰-基于DSP的手势识别系统\DSP代码\GestureRecognition\Read_Bmp.CS_\FILE.FPT
文件 170496 2019-03-29 17:35 陈峰-基于DSP的手势识别系统\DSP代码\GestureRecognition\Read_Bmp.CS_\SYMBOL.CDX
文件 150799 2019-03-29 17:35 陈峰-基于DSP的手势识别系统\DSP代码\GestureRecognition\Read_Bmp.CS_\SYMBOL.DBF
文件 284050 2019-03-29 17:35 陈峰-基于DSP的手势识别系统\DSP代码\GestureRecognition\Read_Bmp.CS_\SYMBOL.FPT
文件 4097 2019-03-29 17:36 陈峰-基于DSP的手势识别系统\DSP代码\GestureRecognition\Read_Bmp.paf2
文件 1106 2019-01-03 17:50 陈峰-基于DSP的手势识别系统\DSP代码\GestureRecognition\Read_Bmp.pjt
文件 11606 2019-03-29 17:36 陈峰-基于DSP的手势识别系统\DSP代码\GestureRecognition\Read_Bmp.sbl
............此处省略29个文件信息
相关资源
- 深度学习模型-稀疏自编码matlab算法,
- 2020研究生数学建模——大雾能见度估
- googlenet.7z
- Matlab深度学习工具箱 deep learning tool
- MATLAB深度学习工具箱
- MATLAB计算机视觉与深度学习实战 完整
- resnet50.7z
- caffe_importer.7z
- 深度学习,车辆识别 人物识别跟踪
- 基于深度学习网络的手写体识别matl
- MATLAB 2017 深度学习 车辆检测 R_CNN
- 信噪比matlab代码
- matlab_人眼疲劳监测.rar
- 基于深度迁移学习的小样本图像分类
- GRU的matlab时间序列神经网络
- 手势识别,基于 MATLAB
- 深度学习matlab代码
- 手势识别,基于MATLAB
- CNN卷积神经网络
- 神经网络学习算法,梯度下降,动量
- 基于深度学习的汽车目标检测
- 深度学习Matlab代码,亲测可以用。有
- 完美可运行Google net
- install_supportsoftware_VGG19.exe
- CNN深度学习识别字符matlab
- 稀疏自编码深度学习的Matlab实现
- matlab 深度学习toolbox(Deep Learn Toolbo
- 受限玻尔兹曼机matlab源代码
- 深度学习汽车目标检测matlab2017
- MATLAB2019b.zip
评论
共有 条评论