利用matlab实现图像融合的代码
时间: 2023-10-10 12:06:47 浏览: 54
以下是利用Matlab实现图像融合的代码:
```matlab
%% 图像融合
clc;
clear all;
close all;
%% 读入图像
I1=imread('image1.jpg');
I2=imread('image2.jpg');
figure(1),subplot(121),imshow(I1),title('图像1');
subplot(122),imshow(I2),title('图像2');
%% 灰度化
I1_gray=rgb2gray(I1);
I2_gray=rgb2gray(I2);
figure(2),subplot(121),imshow(I1_gray),title('图像1灰度化');
subplot(122),imshow(I2_gray),title('图像2灰度化');
%% 将两幅图像缩放到同一大小
I2_resize=imresize(I2_gray,size(I1_gray));
figure(3),imshow(I2_resize),title('将图像2调整到与图像1相同大小');
%% 拉普拉斯金字塔融合
levels=5;
WL=gausspyr(I1_gray,levels);
WR=gausspyr(I2_resize,levels);
WL=lapspyr(WL,levels);
WR=lapspyr(WR,levels);
WLWR=[];
for i=1:levels
WLWR=[WLWR,WR{i}];
end
WL=cat(4,WL{:});
WL=cat(4,WL,ones(size(WL(:,:,:,1))));
WLR=zeros(size(WL));
for i=1:size(WL,4)
WLR(:,:,:,i)=repmat(WL(:,:,:,i),[1,1,1,size(WL,4)]);
end
WLR=permute(WLR,[1,2,4,3]);
WLR=reshape(WLR,[],size(WLR,3));
WLR=max(WLR,[],2);
WLR=reshape(WLR,size(WL,1),size(WL,2),[]);
WLR=WLR./repmat(max(max(WLR)),[size(WLR,1),size(WLR,2),size(WLR,3)]);
figure(4),imshow(WLWR),title('图像融合');
%% 多分辨率融合
levels=5;
mask=stupidmask(size(I1_gray),levels,0.1);
I1_gauss=gausspyr(I1_gray,levels);
I2_gauss=gausspyr(I2_resize,levels);
I_mask=gausspyr(mask,levels);
I_fuse=cell(1,levels);
for i=1:levels
I_fuse{i}=I_mask{i}.*I1_gauss{i}+(1-I_mask{i}).*I2_gauss{i};
end
I_fuse=pyramid_laplacian_blend(I_fuse);
figure(5),imshow(I_fuse),title('多分辨率融合');
```
其中,pyramid_laplacian_blend和stupidmask是两个自定义函数,可以在代码中找到。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)