资源简介
像素级融合matlab代码,Brovery变换融合也被称为彩色标准变换融合,它是将多光谱波段颜色(红、绿、蓝)归一化,将高分辨率影像与多光谱各波段(通常取三波段)相成完成融合。融合算法非常简单。
代码片段和文件信息
clear all;clc;
[namepath]=uigetfile({‘*.JPG‘‘请选择一个位图文件(*.JPG)‘}‘请打开一个位图文件‘ );
file=strcat(pathname);
x0=imread(file);
% x0=imread(‘12.jpg‘);
[abc]=size(x0); %a*b*3矩阵
x=double(x0)/255;
% y=imread(‘21.jpg‘);
[namepath]=uigetfile({‘*.JPG‘‘请选择一个位图文件(*.JPG)‘}‘请打开一个位图文件‘ );
file=strcat(pathname);
y=imread(file);
y1=double(y)/255;
x1=zeros(ab);
x2=zeros(ab);
x3=zeros(ab);
for f=1:a
for e=1:b
xx(fe)=x(fe1)+x(fe2)+x(fe3); %Pan
x1(fe)=x(fe1)*y1(fe)/xx(fe);
x2(fe)=x(fe2)*y1(fe)/xx(fe);
x3(fe)=x(fe3)*y1(fe)/xx(fe); %红、绿、蓝通道层
end
end
for i=1:a
for j=1:b
p(ij1)=x1(ij);
p(ij2)=x2(ij);
p(ij3)=x3(ij); %3个2维转换成1个3维矩阵
end
end
fu=uint8(round(p*255)); %乘以255,取整,转换为无符号整数
%figureimshow(fu);
%%%%%%%%%%%%%%%%%%%%%%%% 以下为各主成分归一化后再融合 %%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%% 第一主成分 %%%%%%%%%%%%%%%%%%
h=x1(11);%最大值
for i=1:a
for j=1:b
if x1(ij)>h
h=x1(ij);
else
end
end
end
o=x1(11); % 最小值
for i=1:a
fo
评论
共有 条评论