基于小波变换算法的可见光与红外图像融合matlab代码
时间: 2023-09-07 08:14:53 浏览: 174
基于Matlab实现红外与可见光图像融合ADF、FDE-PCA、GFF、GTF、HMSD、Latlrr、STO、VSM-WLS算法对比(源码+图片+报告).rar
5星 · 资源好评率100%
以下是基于小波变换算法的可见光与红外图像融合的MATLAB代码:
```matlab
% 读入可见光图像和红外图像
vis = imread('visible.jpg');
ir = imread('infrared.jpg');
% 将可见光图像和红外图像转换为双精度类型
vis = im2double(vis);
ir = im2double(ir);
% 将可见光图像和红外图像分别进行小波变换
[cA1, cH1, cV1, cD1] = dwt2(vis, 'haar');
[cA2, cH2, cV2, cD2] = dwt2(ir, 'haar');
% 对可见光图像和红外图像的低频系数进行加权平均
cA3 = (cA1 + cA2) / 2;
% 对可见光图像和红外图像的高频系数进行最大值融合
cH3 = max(cH1, cH2);
cV3 = max(cV1, cV2);
cD3 = max(cD1, cD2);
% 将融合后的小波系数进行反变换得到融合后的图像
fused = idwt2(cA3, cH3, cV3, cD3, 'haar');
% 显示融合后的图像
imshow(fused);
```
需要注意的是,此代码中使用的是Haar小波变换。如果需要使用其他小波变换,需要修改代码中的对应部分。同时,可见光图像和红外图像的大小需要相同。
阅读全文