给出小波变换图像融合的matlab代码
时间: 2023-07-22 20:18:00 浏览: 96
【提供操作视频】基于小波变换的图像融合算法matlab仿真
5星 · 资源好评率100%
以下是一份使用小波变换实现图像融合的 MATLAB 代码:
```matlab
% 读入需要融合的两幅图像
img1 = imread('image1.jpg');
img2 = imread('image2.jpg');
% 将两幅图像转换为灰度图像
gray1 = rgb2gray(img1);
gray2 = rgb2gray(img2);
% 将图像的大小调整为2的整数次幂,以便进行小波变换
[row1, col1] = size(gray1);
[row2, col2] = size(gray2);
row = min(row1, row2);
col = min(col1, col2);
row = 2^floor(log2(row));
col = 2^floor(log2(col));
gray1 = imresize(gray1, [row col]);
gray2 = imresize(gray2, [row col]);
% 对两幅图像进行小波变换
[c1, s1] = wavedec2(gray1, 2, 'haar');
[c2, s2] = wavedec2(gray2, 2, 'haar');
% 将两幅图像的小波系数相加
c3 = c1 + c2;
% 重构融合后的图像
result = waverec2(c3, s1, 'haar');
% 显示结果
imshow(result);
```
这份代码使用了 Haar 小波变换,也可以根据需要选择其他小波基函数。
阅读全文