由于图像空间分辨率和光谱分辨率之间的矛盾,通常需要进行遥感影像融合。遥感影像融合是将低分辨率的多光谱影像与高分辨率的单波段影像重采样生成一副高分辨率多光谱影像遥感的图像处理技术,使得处理后的影像既有较高的空间分辨率,又具有多光谱特征。IEEE国际遥感数据融合技术委员会将遥感数据融合分为数据级融合、特征级融合和决策级融合三个层次。不同的融合方法,按照算法原理,大致可分为以下三种:
- 从图像处理算法发展而来的较为简单的传统图像融合法,即针对各个图像通道,利用替换、算术等简单方法实现,如主成分分析法(PCA)、IHS变换法等。
- 多分辨率融合算法,如金字塔形算法、小波变换法,主要是将原始图像数据在不同分辨率下进行分解,然后在不同的分解水平上对图像进行融合,最后通过重构来获取融合影像。
- 近年来出现的神经网络、语义谓词等人工智能方法。
IHS变换
在色度学中,把彩色影像的RGB颜色空间转换为亮度、色调
、色饱和度
三个分量称为IHS变换,其主要目的是更好地分离和量化图像中的颜色和光谱信息,描述图像的颜色特征和光谱特征。在影像融合中,通过将RGB空间变换为IHS空间,然后与灰度图像进行对比度拉伸和融合,可保留源图像的光谱信息和空间分辨率。常用的IHS变换公式为:
在IHS空间中,和
分量与人的视觉感受是密切相关的,而
分量与图像的彩色信息无关。因此,通过替换
分量,符合人的视觉系统感知色彩的特点。
常用的IHS变换步骤
- 多光谱影像与高分辨率全色影像进行精确配准,并把多光谱影像的三个波段分别赋予红、绿、蓝三种颜色。
- 把RGB彩色影像转换到IHS空间,提取
分量。
- 以
分量为基准,对高分辨率全色影像进行直方图匹配得到
。
- 以
替换
并与
、
进行反变换,得到变换后的RGB影像。
MATLAB实现IHS变换
实验数据
代码
% Ms为多光谱影像
% Pan为高分辨率全色影像
% 图像升采样
Ms_upsample=[];
band_Name=['R','G','B'];
figure(1)
for i=1:3
tmp=Ms(:,:,i);
xg=1:p1(1);
yg=1:p1(2);
F=griddedInterpolant({xg,yg},tmp);
xq=1:0.25:p1(1)+0.75;
yq=1:0.25:p1(2)+0.75;
vq=F({xq,yq});
Ms_upsample=cat(3,Ms_upsample,vq);
end
Ms_upsample=reshape(Ms_upsample,[1952*1240,3]);
rgb2ihs_m=[1/3,1/3,1/3;-sqrt(2)/6,-sqrt(2)/6,sqrt(2)/3;1/sqrt(2),-1/sqrt(2),0];
Ms_IHS=(rgb2ihs_m*Ms_upsample')';% RGB to IHS
Ms_IHS=reshape(Ms_IHS,[1952,1240,3]);
Ms_upsample=reshape(Ms_upsample,[1952,1240,3]);
Ms_IHS(:,:,1)=Pan;% 替换I分量
Ms_IHS=reshape(Ms_IHS,[1952*1240,3]);
ihs2rgb_m=[1,-1/sqrt(2),1/sqrt(2);1,-1/sqrt(2),-1/sqrt(2);1,sqrt(2),0];
Ms_new=(ihs2rgb_m*Ms_IHS')';% IHS to RGB
Ms_new=reshape(Ms_new,[1952,1240,3]);
figure(3)
subplot(1,2,1);imshow(Ms_upsample)
title('变换前影像')
subplot(1,2,2);imshow(Ms_new)
title('变换后影像')
运行结果
由此看出,基于IHS变换实现影像融合可以提升多光谱影像的分辨率。
总结
一般而言,IHS算法可以提高影像的地物纹理特性。然而,由于在变换中分量被高分辨率全色影像替代,变化结果可能会产生较大的光谱失真。且此方法只适用于三个波段的多光谱影像,若有更多波段,可以使用PCA、格拉姆-施密特光谱锐化融合算法等方法进行影像融合。