代码如下
allsamples=[];%所有训练图像
for j=1:94
a=imread(strcat('trian data','\(',num2str(j),').jpg'));
b=imresize(a,[112 92]);
b=b(1:size(b,1)*size(b,2)); % b是行矢量 1×N,其中N=75768,提取顺序是先列后行,即从上到下,从左到右
b=double(b);
allsamples=[allsamples; b]; % allsamples 是一个M * N 矩阵,allsamples 中每一行数据代表一张图片
end
testdata=[];
for j=1:56
t=imread(strcat('test data','\(',num2str(j),').jpg'));
b=imresize(t,[112 92]);
b=b(1:size(b,1)*size(b,2));
b=double(b);
testdata=[testdata; b];
end
traindata = allsamples;
[TRIANDATA,TRIANDATA1]= mapminmax(traindata,1,2);
o=ones(70,1);
p=-1*ones(24,1);
trainlabel = o';
trainlabel = [trainlabel p']';
% f = traindata(1,:);
[bestacc,bestc,bestg] = SVMcgforclass(trainlabel,TRIANDATA,-10,10,-10,10);
cmd = ['-c ',num2str(bestc),' -g ',num2str(bestg)];
model = svmtrain(trainlabel,TRIANDATA,cmd);
l=ones(32,1);
testdatalabel = l';
testdatalabel = [testdatalabel p']';
[TESTNDATA,TESTDATA1]= mapminmax(testdata,1,2);
%g = testdata(1,:);
[predictlabel,accuracy, decision_values] = svmpredict(testdatalabel,TESTNDATA,model);
%if 1 == predictlabel
% p = imread(strcat('t',num2str(1),'\',num2str(3),'.jpg'));
%subplot(211),imshow(p),title('正确匹配');
%end
%if -1 == predictlabel
% p = imread(strcat('t',num2str(1),'\',num2str(3),'.jpg'));
%subplot(211),imshow(p),title('不正确匹配');
%end
希望链接到的mfc的butten上
allsamples=[];%所有训练图像
for j=1:94
a=imread(strcat('trian data','\(',num2str(j),').jpg'));
b=imresize(a,[112 92]);
b=b(1:size(b,1)*size(b,2)); % b是行矢量 1×N,其中N=75768,提取顺序是先列后行,即从上到下,从左到右
b=double(b);
allsamples=[allsamples; b]; % allsamples 是一个M * N 矩阵,allsamples 中每一行数据代表一张图片
end
testdata=[];
for j=1:56
t=imread(strcat('test data','\(',num2str(j),').jpg'));
b=imresize(t,[112 92]);
b=b(1:size(b,1)*size(b,2));
b=double(b);
testdata=[testdata; b];
end
traindata = allsamples;
[TRIANDATA,TRIANDATA1]= mapminmax(traindata,1,2);
o=ones(70,1);
p=-1*ones(24,1);
trainlabel = o';
trainlabel = [trainlabel p']';
% f = traindata(1,:);
[bestacc,bestc,bestg] = SVMcgforclass(trainlabel,TRIANDATA,-10,10,-10,10);
cmd = ['-c ',num2str(bestc),' -g ',num2str(bestg)];
model = svmtrain(trainlabel,TRIANDATA,cmd);
l=ones(32,1);
testdatalabel = l';
testdatalabel = [testdatalabel p']';
[TESTNDATA,TESTDATA1]= mapminmax(testdata,1,2);
%g = testdata(1,:);
[predictlabel,accuracy, decision_values] = svmpredict(testdatalabel,TESTNDATA,model);
%if 1 == predictlabel
% p = imread(strcat('t',num2str(1),'\',num2str(3),'.jpg'));
%subplot(211),imshow(p),title('正确匹配');
%end
%if -1 == predictlabel
% p = imread(strcat('t',num2str(1),'\',num2str(3),'.jpg'));
%subplot(211),imshow(p),title('不正确匹配');
%end
希望链接到的mfc的butten上
