باسلام
نوشته بودم ORL استفاده می کنم قبلا از فیلتر گابور استفاده کردم حالا میخوام ابعادشو کاهش بدم ویه کدی که قبلا برای استخراج ویژگی بر روی تصاویر PCA من در مورد کاهش بردار ویژگی از
حالا میخوام کاهش بعد ویژگی رو بر روی همین پایگاه داده اعمال کنم میشه کمکم کنید تا به جوابی که می خوام برسم؟
کدی که نوشتم اینه :
data_set = create_dataset('D:\image\dataorl\')
more off;
data_set=[];
for i = 1: 40
folder = sprintf('%s\\s%d', 'D:\image\dataorl\', i);
Mpca=[];
for j = 1:10
filename = sprintf('%s\\%d.pgm', folder, j);
disp(filename)
img = imread(filename);
tmp=int2str(j);
database

,:,j)=imread(tmp,'pgm');
end
for j=1:10
vectordata(j,: )=reshape(database

,:,j),1,10304);
[M,N]=size(vectordata(j,: ));
mn=mean(vectordata,1);
vectordata=double(vectordata);
end
for j=1:10
AVGmatrix(j,: )=mn-vectordata(j,: );
covariance=1/(N-1)*AVGmatrix(j,: )*(AVGmatrix(j,: ))';
[PC,V]=eig( covariance);
V=diag(V);
[Junk,rindices]=sort(-1*V);
PC=PC

,rindices);
MPC=PC

,1:50)';
Mpca=MPC*vectordata(1,: )';
Mpca = [Mpca; observation_vectors(gabor_features(img))];
end
data_set

,i) = Mpca;
end
خطایی که بعد از اجرای این کد بدست میارم :
Index exceeds matrix dimensions
خواهشا راهنمایی کنید چیکار کنم