基于MATALB的多光谱影像与全色影像(高分辨率)的融合的几种方法

数据:
链接:Sichuan.mat


1.HIS方法

clear ;close ;clc;
%加载图片
load Sichuan;% %将图片转换为三波段的光谱低分辨率和全色高分辨率
ImageMS = 255*ImageMS/max(max(max(ImageMS)));
ImageP = 255*ImageP/max(max(max(ImageP)));
tp = ImageMS(:,:,3);
ImageMS(:,:,3) = ImageMS(:,:,1);
ImageMS(:,:,1) = tp;
%全色高分辨率
High=ImageP(:,:);
%三波段的多光谱低分辨率
Multy=ImageMS(:,:,1:3);%多光谱影像从RGB转到IHS
IHS=rgb2hsv(Multy/255);
%得到IHS矩阵的第三页,因为第三页才是I亮度
I=IHS(:,:,3);%下面进行灰度直方图的规定化,把I作为标准,对高分辨率影像进行处理
%读入标准图像,得到I的大小和维度
[m_mul,n_mul,d_mul]=size(I);
%计算规定直方图各个像素的概率
Multy_hist=(imhist(I)/(m_mul*n_mul));%读入要被规定化的图像
[q,p]=imhist(High/255);
%得到高分辨率影像的大小及其维度
[m_h,n_h,d_h]=size(High);
%计算原始直方图各个像素的概率
High_hist=(imhist((High/255))/(m_h*n_h));Mul_V=[];
High_V=[];%计算规定累计直方图和原始累计直方图概率
for i=1:256Mul_V=[ Mul_V sum(Multy_hist(1:i))];High_V=[High_V sum(High_hist(1:i))];
end%开始对像素进行SML映射
for i=1:256%把多光谱的累计概率与高分辨率的累计概率的每一个概率做差value{i}=Mul_V-High_V(i);%取绝对值(因为接近无论 正负)value{i}=abs(value{i});%找到最接近的,即为映射的灰度级(index)【即原始图像第i级对应第index(i)级】%temp是最小值[temp index(i)]=min(value{i});
endHigh=uint8(High);
%设新图像的大小与高分辨率图像等大
newimg=zeros(m_h,n_h);
%对新I像素进行赋值
for i=1:m_hfor j=1:n_h%把规定化后的灰度级赋值给newimgnewimg(i,j)=index((High(i,j)+1))-1;end
endsubplot(1,3,1);
imhist(uint8(High)); %显示变换前的直方图
subplot(1,3,2);
imhist(uint8(Multy));%产生规定化模板
subplot(1,3,3);
imhist(newimg/255);% 规定化变换后的直方图%把IHS的H与S变成与高分辨率图像等大,同时把IHS的原I用新的I替换
newIHS(:,:,1)=imresize(IHS(:,:,1),[540,600]);
newIHS(:,:,2)=imresize(IHS(:,:,2),[540,600]);
newIHS(:,:,3)=newimg;%把替换完成的图像从IHS转为RGB,并输出图像
newRGB=hsv2rgb(newIHS);
figure
subplot(1,2,1);
imshow(uint8(Multy));
title('多波段');
subplot(1,2,2);
imshow(uint8(High));
title('高分辨率');
figure
imshow(uint8(newRGB));
title('合成图');

结果图:

2.小波变换

%小波变换
clear ;close ;clc;
%加载图片
load Sichuan;
%将图片转换为三波段的多光谱低分辨率和全色高分辨率
ImageMS = 255*ImageMS/max(max(max(ImageMS)));
ImageP = 255*ImageP/max(max(max(ImageP)));
tp = ImageMS(:,:,3);
ImageMS(:,:,3) = ImageMS(:,:,1);
ImageMS(:,:,1) = tp;
%全色高分辨率
High=double(ImageP(:,:))/255;
%三波段的多光谱低分辨率
Multy=double(ImageMS(:,:,1:3))/255;
%得到RGB三元色矩阵
Multy_R=Multy(:,:,1)*1.5;
Multy_G=Multy(:,:,2)*1.5;
Multy_B=Multy(:,:,3)*1.5;%将高分辨率影响进行2维小波分解
% c1是对应的整幅图数据的向量;
[c1,s1]=wavedec2(High,2,'sym4');
sizec1=size(c1);
for I=1:sizec1(2)c1(I)=1.8*c1(I); %将分解后的值都扩大
end
%把RGB都变成与高分辨率影响同等大小,再进行小波分解
Multy_R=imresize(Multy_R,[540 600]);
[cr,sr]=wavedec2(Multy_R,2,'sym4');
Multy_G=imresize(Multy_G,[540 600]);
[cg,sg]=wavedec2(Multy_G,2,'sym4');
Multy_B=imresize(Multy_B,[540 600]);
[cb,sb]=wavedec2(Multy_B,2,'sym4');%把RGB的分解值分别都与高分辨率进行求均值与重构
cr1=c1+cr ;     %计算小波系数平均值
cr1=0.5*cr1;
sr1=s1+sr;     %对像素进行求和后取平均
sr1=0.5*sr1;
xxr=waverec2(cr1,sr1,'sym4');  %进行重构cg1=c1+cg ;     %计算平均值
cg1=0.5*cg1;
sg1=s1+sg;
sg1=0.5*sg1;
xxg=waverec2(cg1,sg1,'sym4');  %进行重构cb1=c1 +cb ;     %计算平均值
cb1=0.5*cb1;
sb1=s1+sb;
sb1=0.5*sb1;
xxb=waverec2(cb1,sb1,'sym4');  %进行重构%把重构后的矩阵合成RGB三维矩阵即可
xx=cat(3,xxr,xxg,xxb);
figure(1)
subplot(1,2,1);
imshow(High),title('高分辨率影像');
axis square;subplot(1,2,2);
imshow(Multy),title('多波段影像');
axis square;IHS=rgb2hsv(xx);
S=IHS(:,:,2)*1.8;
IHS(:,:,2)=S;
I=IHS(:,:,3)*0.59;
IHS(:,:,3)=I;xx=hsv2rgb(IHS);
figure
imshow(1.25*xx),title('融合后影像');
axis square;

结果图:

3.Brovery

clear ;close ;clc;
%加载图片
load Sichuan;
%将图片转换为三波段的多光谱低分辨率和全色高分辨率
ImageMS = 255*ImageMS/max(max(max(ImageMS)));
ImageP = 255*ImageP/max(max(max(ImageP)));
tp = ImageMS(:,:,3);
ImageMS(:,:,3) = ImageMS(:,:,1);
ImageMS(:,:,1) = tp;
%全色高分辨率
High=double(ImageP(:,:))/255;
%三波段的多光谱低分辨率
Multy=double(ImageMS(:,:,1:3))/255;
Multy=imresize(Multy,[540 600]);
[a,b,c]=size(Multy);
x=double(Multy);
y1=double(High);
xx=zeros(a,b,c);
p=zeros(a,b,c);
%根据公式
% R=pan*band3/(band1+band2+ band3)
% G=pan*band2/(band1+band2+ band3)
% B=pan*band1/(band1+band2+ band3)
for f=1:afor e=1:bxx(f,e)=x(f,e,1)+x(f,e,2)+x(f,e,3);p(f,e,1)=x(f,e,1)*y1(f,e)/xx(f,e);p(f,e,2)=x(f,e,2)*y1(f,e)/xx(f,e);p(f,e,3)=x(f,e,3)*y1(f,e)/xx(f,e);end
end
imshow(p*4);
title('融合图像');

结果图:

基于MATALB的多光谱影像与全色影像(高分辨率)的融合的几种方法相关推荐

  1. (C++)GDAL学习笔记—— 5 全色影像与多光谱影像的融合

    任务 将全色影像与多光谱影像融合. 原理 使用的方法是HSI变换法,即先将多光谱影像选择RGB三个波段进行HSI变化得到H(色调).S(饱和度).I(亮度)三个波段.之后按照全色波段的尺寸将H和S两个 ...

  2. 遥感影像的全色、多光谱、高光谱图像

    1. 全色图像 2. 多光谱图像 3. 高光谱图像 4. RGB图像   遥感成像原理: 光进入相机镜头,光电感应装置将光信号转换为电信号,量化电脉冲信号,记录为一个像素值.传感器响应函数设计为,要使 ...

  3. 遥感影像的“全色”与“多光谱”

       全色波段(Panchromatic band),因为是单波段,在图上显示是灰度图片.全色遥感影象一般空间分辨率高,但无法显示地物色彩. 实际操作中,我们经常将之与多波段影象融合处理,得到既有全色 ...

  4. 遥感影像的“全色”和“多光谱”

    全色波段(Panchromatic band),因为是单波段,在图上显示是灰度图片.全色遥感影象一般空间分辨率高,但无法显示地物色彩. 实际操作中,我们经常将之与多波段影象融合处理,得到既有全色影象的 ...

  5. 超全总结:Go 读文件的 10 种方法

    大家好,我是明哥. Go 中对文件内容读写的方法,非常地多,其中大多数是基于 syscall 或者  os 库的高级封装,不同的库,适用的场景又不太一样,为免新手在这块上裁跟头,我花了点时间把这些内容 ...

  6. 波段融合生成全色影像

    方法一: Mat mergeImage;Mat mergeImage;Mat img1 = imread("D://img//GF1_mux_band_3.tif",0);Mat ...

  7. 自由职客_全职工作时兼顾自由职业的14种方法

    自由职客 The process of becoming self-employed can take a number of paths. One common situation is doing ...

  8. 遥感影像多光谱与全色IHS融合

    目前常用的颜色模型一种是RGB三原色模型,另外一种广泛采用的颜色模型是亮度.色调.饱和度((IHS)颜色模型.亮度表示光谱的整体亮度大小,对应于图像的空间信息属性,色调描述纯色的属性,决定于光谱的主波 ...

  9. 多源数据的融合发展现状与趋势(二)——全色、多光谱、高光谱图像融合

    现有的空谱融合对象主要是全色图像与多光谱图像.全色图像与高光谱图像.多光谱图像与高光谱图像.从波段数量来说,全色图像与多光谱或高光谱图像的融合属于"一对多"的融合, 多光谱图像与高 ...

最新文章

  1. nginx 修改并隐藏版本号
  2. XTU -1231 人生成就 (dp + 记录最优解的个数)
  3. python2和python3解释器的区别
  4. 外设驱动库开发笔记35:迪文触摸屏驱动
  5. 算法面试题:找出由两个有序列表合并而成的新列表中的第n个元素
  6. vue confirm确认
  7. CentOS 使用spawn-fcgi配置Nginx+PHP 启动脚本
  8. 别再问“自媒体怎么做”
  9. 也玩ASP.NET MVC 与 WebFroms 整合
  10. 每日一句20191104
  11. 几何画板构造象限平分线的步骤
  12. Legacy(传统)BIOS的历史和不足
  13. react引入静态图片的方式
  14. Kingbase8开发版,启动提示FATAL: XX000: max_connections should be less than orequal than 10
  15. 低成本佐川泽川圣安变频器设计方案ZC600量产VF80源代码原理图PCB
  16. 论文查重软件查重时需要注意的问题有哪些?
  17. linux搭建网站教程详解
  18. 计算机上如何转换搜狗,怎样切换输入法,搜狗输入法五笔和拼音切换
  19. android studio模拟手机黑屏,Android Studio 模拟器启动问题——黑屏 死机 解决方法...
  20. 百度文库----免费复制

热门文章

  1. 计算机表格中如何计算数据透视表,Excel中如何在数据透视表中进行计算
  2. 关于POS操作的一些文章收集链接
  3. 【读书笔记】之《月亮与六便士》
  4. AMetal平台学习——初步了解篇
  5. 武陵源计算机学校,武陵源-张家界市武陵源区武陵源旅游指南[组图]
  6. 操作无法完成因为已经在mysqld.exe上打开_用上iPhone 11的这个功能后,今年我第一次拿到全勤奖...
  7. 论文翻译:2021_Low-Delay Speech Enhancement Using Perceptually Motivated Target and Loss
  8. 以太坊《私有链和联盟链的机会与挑战》报告
  9. iPhone 一键打开北京健康宝
  10. android sharedpreferences 存储对象,android中SharedPreferences实现存储用户名功能