资源简介

近年来,手势识别作为新一代人机交互手段,受到了国内外研究学者以及公司的关注和研究,并且取得了突出的成果,在智能电视、游戏娱乐设备、机器人等方面都有了广泛的应用,而且,通过对手势识别技术的研究,可以推动机器设备对视觉感知能力的认识,并将其应用到更多的人工智能领域,使机器设备更好的理解人类的想法和意图,为我们的生活和工作带来更大的好处。本文通过手势分割、边缘检测、特征提取、匹配识别等技术实现了一种能识别五种手势的手势识别系统,可以完成人机交互的基本任务。文件包含有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个文件信息

评论

共有 条评论