应用主成分分解PCA法的图像融合技术.doc

上传人:b****3 文档编号:2492321 上传时间:2022-10-30 格式:DOC 页数:5 大小:394KB
下载 相关 举报
应用主成分分解PCA法的图像融合技术.doc_第1页
第1页 / 共5页
应用主成分分解PCA法的图像融合技术.doc_第2页
第2页 / 共5页
应用主成分分解PCA法的图像融合技术.doc_第3页
第3页 / 共5页
应用主成分分解PCA法的图像融合技术.doc_第4页
第4页 / 共5页
应用主成分分解PCA法的图像融合技术.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

应用主成分分解PCA法的图像融合技术.doc

《应用主成分分解PCA法的图像融合技术.doc》由会员分享,可在线阅读,更多相关《应用主成分分解PCA法的图像融合技术.doc(5页珍藏版)》请在冰豆网上搜索。

应用主成分分解PCA法的图像融合技术.doc

应用主成分分解PCA法的图像融合技术

1、实现代码:

%functionPca=PCA(TM);

clear

up=imread('high.jpg');%读图像

low=imread('low.jpg');

figure

(1)%建立第一幅图像

imshow(up);%显示图像

title('PCA-RGB表示的高分辨率图像');%图像标题为…

figure

(2)%建立第二幅图像

imshow(low);%显示图像

title('PCA-RGB表示的低分辨率图像');%图像标题为…

%up是一个三维数组,高分辨率图像被分解成R,G,B三个分量

[up_R]=double(up(:

:

1));

[up_G]=double(up(:

:

2));

[up_B]=double(up(:

:

3));

%low是一个三维数组,低分辨率图像被分解成R,G,B三个分量

[low_R]=double(low(:

:

1));

[low_G]=double(low(:

:

2));

[low_B]=double(low(:

:

3));

%返回数组的维度和长度

[M,N,color]=size(up);

up_Mx=0;

low_Mx=0;

fori=1:

M

forj=1:

N

up_S=[up_R(i,j),up_G(i,j),up_B(i,j)]';

%生成由R,G,B组成的三维列向量,每一个位置对应的rgb的值表示出来

up_Mx=up_Mx+up_S;

%统计加起来各个像素点的值,即矩阵相加,等于对应位置元素相加

low_S=[low_R(i,j),low_G(i,j),low_B(i,j)]';

low_Mx=low_Mx+low_S;

end

end

up_Mx=up_Mx/(M*N);%计算三维列向量的平均值

low_Mx=low_Mx/(M*N);%up_Mx也是一个矩阵,每个元素都除以M*N

up_Cx=0;

low_Cx=0;

fori=1:

M

forj=1:

N

up_S=[up_R(i,j),up_G(i,j),up_B(i,j)]';

up_Cx=up_Cx+up_S*up_S';

%up_Cx加上up_S矩阵乘以矩阵的转置

low_S=[low_R(i,j),low_G(i,j),low_B(i,j)]';

low_Cx=low_Cx+low_S*low_S';

end

end

up_Cx=up_Cx/(M*N)-up_Mx*up_Mx';

%运用公式cov(x,y)=E(xy)-ExEy计算协方差矩阵

low_Cx=low_Cx/(M*N)-low_Mx*low_Mx';

[up_A,up_latent]=eigs(up_Cx);

%协方差矩陈的特征向量组成的矩阵----PCA变换的系数矩陈,特征值%up_latent为6个最大特征值,up_A的列向量为对应特征向量。

[low_A,low_latent]=eigs(low_Cx);

fori=1:

M

forj=1:

N

up_X=[up_R(i,j),up_G(i,j),up_G(i,j)]';

%生成由R,G,B组成的三维列

up_Y=up_A'*up_X;%每个象素点进行PCA变换正变换up_A'为特%征向量的转置

up_Y=up_Y';%转置

up_R(i,j)=up_Y

(1);%高分辨率图片的第1主分量

up_G(i,j)=up_Y

(2);%高分辨率图片的第2主分量

up_B(i,j)=up_Y(3);%高分辨率图片的第3主分量

low_X=[low_R(i,j),low_G(i,j),low_G(i,j)]';

low_Y=low_A'*low_X;

low_Y=low_Y';

low_R(i,j)=low_Y

(1);%低分辨率图片的第1主分量

low_G(i,j)=low_Y

(2);%低分辨率图片的第2主分量

low_B(i,j)=low_Y(3);%低分辨率图片的第3主分量

end

end

fori=1:

M

forj=1:

N

up_Y=[up_R(i,j),up_G(i,j),up_B(i,j)]';

%生成由R,G,B组成的三维列向量

up_X=up_A*up_Y;%每个象素点进行PCA变换反变换

up_X=up_X';%转置

up_r(i,j)=up_X

(1);

up_g(i,j)=up_X

(2);

up_b(i,j)=up_X(3);

low_Y=[up_R(i,j),low_G(i,j),low_B(i,j)]';

%生成由R,G,B组成的三维列向量,并将低分辨率的

%全色图像的第一主成分替换成高分辨率的第一主成分

low_X=low_A*low_Y;

low_X=low_X';

low_r(i,j)=low_X

(1);

low_g(i,j)=low_X

(2);

low_b(i,j)=low_X(3);

end

end

%生成最终的融合图像

RGB(:

:

1)=low_r;

RGB(:

:

2)=low_g;

RGB(:

:

3)=low_b;

figure(3)%建立第三副图像

imshow(uint8(RGB));%显示图像

title('PCA-RGB表示的融合图像');

2、运行结果:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 工作计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1