資源簡介
像素級融合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
評論
共有 條評論