• 大小: 32.48MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-06-28
  • 语言: Matlab
  • 标签: SIFT  SVM  手势识别  

资源简介

基于sift和SVM算法实现的手势识别程序,用MATLAB GUI编写的,附有手势库,可拷贝至任何磁盘运行不必担心路径问题,但可能要求版本高一点的MATLAB软件

资源截图

代码片段和文件信息

%A - 1329
%B - 487
%C - 572
%Five - 654
%Point - 1395
%V - 435
%%
imgDir = ‘./shp_marcel_train/Marcel-Train/‘;
outDir = ‘./surfTrain‘;
mkdir(outDir);

% trainNumA = 1329;
% trainNumB = 487;
% trainNumC = 572;
% trainNumFive = 654;
% trainNumPoint = 1395;
% trainNumV = 435;

trainNumA = 10;
trainNumB = 10;
trainNumC = 10;
% trainNumFive = 200;
% trainNumPoint = 600;
% trainNumV = 200;

imgSize = 80;
patchSize = 16;
gridSpacing = patchSize/2;
gridRowNum = imgSize/gridSpacing - 1;
row_matOne = gridRowNum^2;
%% A
matDSift = [];
matOne = zeros(row_matOne 128);
trainLabel = ‘A‘;
for i = 1:trainNumA
%    num = [num2str(floor(i/1000)) num2str(floor(mod(i1000)/100)) num2str(floor(mod(i100)/10)) num2str(floor(mod(i 10)))];
   num = [num2str(floor(mod(i100)/10)) num2str(floor(mod(i 10)))];
   imgName = [trainLabel ‘-uniform‘ num ‘.ppm‘];
   imgPath = [imgDir trainLabel ‘/‘ imgName];
   img = imread(imgPath);
   img = imresize(img [imgSize imgSize]);
   descriptor = dense_sift(img patchSize gridSpacing);
   for j = 1:gridRowNum
       for k = 1:gridRowNum
          matOne((j-1)*gridRowNum + k :) = descriptor(j k :);
       end
   end
   matDSift = cat(1 matDSift matOne);
end
matOutFileName = [outDir ‘/‘ ‘dsift‘ trainLabel ‘.txt‘];
dlmwrite(matOutFileName matDSift);
%% B
matDSift = [];
matOne = zeros(row_matOne 128);
trainLabel = ‘B‘;
for i = 1:trainNumB
%    num = [num2str(floor(i/100)) num2str(floor(mod(i100)/10)) num2str(floor(mod(i 10)))];
   num = [num2str(floor(mod(i100)/10)) num2str(floor(mod(i 10)))];
   imgName = [trainLabel ‘-uniform‘ num ‘.ppm‘];
   imgPath = [imgDir trainLabel ‘/‘ imgName];
   img = imread(imgPath);
   img = imresize(img [imgSize imgSize]);
   descriptor = dense_sift(img patchSize gridSpacing);
   for j = 1:gridRowNum
       for k = 1:gridRowNum
          matOne((j-1)*gridRowNum + k :) = descriptor(j k :);
       end
   end
   matDSift = cat(1 matDSift matOne);
end
matOutFileName = [outDir ‘/‘ ‘dsift‘ trainLabel ‘.txt‘];
dlmwrite(matOutFileName matDSift);
%% C
matDSift = [];
matOne = zeros(row_matOne 128);
trainLabel = ‘C‘;
for i = 1:trainNumC
%    num = [num2str(floor(i/100)) num2str(floor(mod(i100)/10)) num2str(floor(mod(i 10)))];
   num = [num2str(floor(mod(i100)/10)) num2str(floor(mod(i 10)))];
   imgName = [trainLabel ‘-uniform‘ num ‘.ppm‘];
   imgPath = [imgDir trainLabel ‘/‘ imgName];
   img = imread(imgPath);
   img = imresize(img [imgSize imgSize]);
   descriptor = dense_sift(img patchSize gridSpacing);
   for j = 1:gridRowNum
       for k = 1:gridRowNum
          matOne((j-1)*gridRowNum + k :) = descriptor(j k :);
       end
   end
   matDSift = cat(1 matDSift matOne);
end
matOutFileName = [outDir ‘/‘ ‘dsift‘ trainLabel ‘.txt‘];
dlmwrite(matOutFileName matDSift);

% matDSift = [];
% matOne = zeros(row_matOne 128);
% trainLabel = ‘Five‘;
%

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件    2359312  2015-10-12 22:47  Hand gesture Recognition based SIFT and SVM_matlab\10B.ppm

     文件    2359312  2015-10-12 22:44  Hand gesture Recognition based SIFT and SVM_matlab\10C.ppm

     文件     786448  2015-10-12 23:42  Hand gesture Recognition based SIFT and SVM_matlab\1A.pgm

     文件    2359312  2015-10-12 23:18  Hand gesture Recognition based SIFT and SVM_matlab\1A.ppm

     文件    2359312  2015-10-12 22:47  Hand gesture Recognition based SIFT and SVM_matlab\1B.ppm

     文件    2359312  2015-10-12 22:44  Hand gesture Recognition based SIFT and SVM_matlab\1C.ppm

     文件     786448  2015-10-12 23:43  Hand gesture Recognition based SIFT and SVM_matlab\2A.pgm

     文件    2359312  2015-10-12 22:54  Hand gesture Recognition based SIFT and SVM_matlab\2A.ppm

     文件    2359312  2015-10-12 22:47  Hand gesture Recognition based SIFT and SVM_matlab\2B.ppm

     文件    2359312  2015-10-12 22:44  Hand gesture Recognition based SIFT and SVM_matlab\2C.ppm

     文件    2359312  2015-10-12 22:47  Hand gesture Recognition based SIFT and SVM_matlab\3B.ppm

     文件    2359312  2015-10-12 22:44  Hand gesture Recognition based SIFT and SVM_matlab\3C.ppm

     文件    2359312  2015-10-12 22:47  Hand gesture Recognition based SIFT and SVM_matlab\4B.ppm

     文件    2359312  2015-10-12 22:44  Hand gesture Recognition based SIFT and SVM_matlab\4C.ppm

     文件    2359312  2015-10-12 22:47  Hand gesture Recognition based SIFT and SVM_matlab\5B.ppm

     文件    2359312  2015-10-12 22:44  Hand gesture Recognition based SIFT and SVM_matlab\5C.ppm

     文件    2359312  2015-10-12 22:47  Hand gesture Recognition based SIFT and SVM_matlab\6B.ppm

     文件    2359312  2015-10-12 22:44  Hand gesture Recognition based SIFT and SVM_matlab\6C.ppm

     文件    2359312  2015-10-12 22:47  Hand gesture Recognition based SIFT and SVM_matlab\7B.ppm

     文件    2359312  2015-10-12 22:44  Hand gesture Recognition based SIFT and SVM_matlab\7C.ppm

     文件    2359312  2015-10-12 22:47  Hand gesture Recognition based SIFT and SVM_matlab\8B.ppm

     文件    2359312  2015-10-12 22:44  Hand gesture Recognition based SIFT and SVM_matlab\8C.ppm

     文件    2359312  2015-10-12 22:47  Hand gesture Recognition based SIFT and SVM_matlab\9B.ppm

     文件    2359312  2015-10-12 22:44  Hand gesture Recognition based SIFT and SVM_matlab\9C.ppm

     文件       5189  2015-10-13 00:21  Hand gesture Recognition based SIFT and SVM_matlab\batDenseSift.m

     文件       3180  2015-10-03 20:44  Hand gesture Recognition based SIFT and SVM_matlab\dense_sift.m

     文件        264  2008-02-21 18:08  Hand gesture Recognition based SIFT and SVM_matlab\gen_dgauss.m

     文件        449  2008-02-21 18:08  Hand gesture Recognition based SIFT and SVM_matlab\gen_gauss.m

     文件       2436  2015-10-13 01:29  Hand gesture Recognition based SIFT and SVM_matlab\gesturePredict.m

     文件        331  2015-10-07 16:33  Hand gesture Recognition based SIFT and SVM_matlab\gestureTrain.m

............此处省略297个文件信息

评论

共有 条评论