clear all;clc;
I=imread('P90_副本.bmp');
I=im2double(I);
R=I(:,:,1);%提取RGB三个分量
G=I(:,:,2);
B=I(:,:,3);
figure;imshow(I);title('目标图像');
figure;imshow(R);title('目标图像');
figure;imshow(G);title('目标图像');
figure;imshow(B);title('目标图像');
R1=imresize(R,0.1);%只做演示,为了计算时间短一点,改变一下图片尺寸
G1=imresize(G,0.1);
B1=imresize(B,0.1);
[M,N]=size(R1);
R2=reshape(R1,1,[]);%将每个样本转换为一维向量
G2=reshape(G1,1,[]);
B2=reshape(B1,1,[]);
P=[R2;G2;B2];%样本矩阵,每一行是一个样本
[L W]=fastPCA(P,3);%对样本矩阵进行k维的降维
visualize_pc(W);%显示主成分图像
xApprox=approx(R2,1);%对任意一个样本进行重建
II1=reshape(xApprox,M,N);%放大显示
II1=imresize(II1,10);
figure;imshow(II1);
评论1