前言:
算法:NSCT算法(非下采样变换)
数据:Landsat8 OLI 遥感图像数据
编程平台:MATLAB+Python
论文参考:毛克.一种快速的全色和多光谱图像融合算法[J].测绘科学,2016,41(01):151-153+98.DOI:10.16251/j.cnki.1009-2307.2016.01.028.
左图:未进行融合的多光谱真彩色合成 右图:利用NSCT变换后的多光谱真彩色合成
算法概述
- (1)上采样低分辨率多光谱图像LRM,使其和全色图像HRP的分辨率相同,记为LRM杠;
- (2)根据第i个多光谱波段LRMi杠来匹配全色图像得到新的图像HRPi杠;
- (3)使用NSCT变换两层分解HRPi杠,得到低频分量和细节子带;
- 此处虽然说的是两层分解,但是我找遍了资料,还是不能理解是怎么得出。但是考虑到是低频分量,于是我利用的高斯模糊,方差为20,提取出了全色波段的低频部分。
图:全色波段的低频分量
- (4)提高全色高频信息HF,即
- (5)按比例投影高频信息HF至LRMi杠中,得到融合图像HRMi
matlab批量读取遥感影像并将影像矩阵存入.mat文件中:
clc;clear all;
file_path="C:\Users\稳魂\Desktop\data\";
img_path_list = dir(strcat(file_path,'LC08_L1TP_118038_20130525_20170504_01_T1_B*.TIF'));
img_num = length(img_path_list);
fprintf('正在读取的图像为:\n');
data_base={};
name={};
if img_num > 0 for j = 1:img_num if j~=9img_name = strcat(file_path,'LC08_L1TP_118038_20130525_