Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2008-04-15
年龄: 38
帖子: 12
声望力: 18 ![]() |
![]()
各位高手,本人现急于交论文,以前也没学过MATLAB,在网上下的程序不怎么懂,运行结果不太对,望指教!急急急 :cry: :cry:
程序如下: allsamples=[]; for i=1:40 for j=1:5 a=imread(strcat('e:\ORL\s',num2str(i),'\',num2str(j),'.pgm')); b=a(1:112*92); b=double(b); allsamples=[allsamples;b]; end end samplemean=mean(allsamples); for i=1:200 xmean(i, ![]() ![]() end; %获取特征植及特征向量 sigma=xmean*xmean'; [v d]=eig(sigma); d1=diag(d); %按特征值大小以降序排列 dsort=flipud(d1); vsort=fliplr(v); %以下选择90%的能量 dsum=sum(dsort); dsum_extract=0; p=0; while(dsum_extract/dsum<0.9) p=p+1; dsum_extract=sum(dsort(1 ![]() end i=1; % (训练阶段)计算特征脸形成的坐标系 base = xmean' * vsort(:,1 ![]() ![]() allcoor=allsamples*base; accu = 0; %测试过程 for i=1:40 for j=6:10%读入40 x 5 副测试图像 a=imread(strcat('e:\ORL\s',num2str(i),'\',num2str(j),'.pgm')); b=a(1:10304); b=double(b); tcoor=b*base; for k=1:200 mdist(k)=norm(tcoor-allcoor(k, ![]() end; %三阶近邻 [dist,index2]=sort(mdist); class1=floor( (index2(1)-1)/5 )+1; class2=floor((index2(2)-1)/5)+1; class3=floor((index2(3)-1)/5)+1; if class1~=class2 && class2~=class3 class=class1; elseif class1==class2 class=class1; elseif class2==class3 class=class2; end; if class==i accu=accu+1; end; end; end; accuracy=accu/200 % 输出识别率 |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2008-04-15
年龄: 38
帖子: 12
声望力: 18 ![]() |
![]()
怎么没人回复我啊,本人很急啊:cry: :cry:
|
![]() |
![]() |
![]() |
#3 |
游客
帖子: n/a
|
![]()
你没有给出问题,怎么回答你呀
|
![]() |
![]() |
#4 |
初级会员
注册日期: 2008-04-12
年龄: 39
帖子: 5
声望力: 0 ![]() |
![]()
你的毕业设计题目是什么啊,能不能发出来大家看一下啊
|
![]() |
![]() |
![]() |
|
|
![]() |
||||
主题 | 主题作者 | 版面 | 回复 | 最后发表 |
[分享]MathCad2001资源中心汉化第七部分 | zpz11111 | MathCAD论坛 | 0 | 2008-08-24 15:19 |
【求助】基带数字通信编码器matlab仿真实现 | rayzhangysu | MATLAB论坛 | 1 | 2008-03-22 13:25 |