1 简介 阐述了基于拉普拉斯金字塔变换的图像融合原理和方法:首先对源图像分别进行拉普拉斯金字塔分 解,然后对分解后的各层图像采用不同的融合准则进行融合,最后,对融合金字塔做
1 简介
阐述了基于拉普拉斯金字塔变换的图像融合原理和方法:首先对源图像分别进行拉普拉斯金字塔分 解,然后对分解后的各层图像采用不同的融合准则进行融合,最后,对融合金字塔做拉普拉斯金字塔反变换得到最终的融合图像.通过对红色图像的融合结 果分析,实验结果表明,该算法能得到具有更多有用信息的高对比度的融合图像.融合效果良好.
2 部分代码
close all;clear;
clc;
%载入图像
TargetImg = imread('poolRGB.jpg');
SourceImg = imread('bearRGB.jpg');
SourceMask = im2bw(imread('bearMask.jpg'));
%获取裁剪边界
[SrcBoundry,~] = bwboundaries(SourceMask);
%绘制剪切边界
figure,imshow(SourceImg),axis image
hold on
for k = 1:length(SrcBoundry)
boundary = SrcBoundry{k};
plot(boundary(:,2),boundary(:,1),'r','LineWidth',2)
end
title('用于剪切的源图像预期区域');
%确定source图将要粘贴在target途中的具体位置,并产生新的Mask图
position_in_target = [10,225];%定义位置-融合实验用
[TargetRows,TargetCols,~] = size(TargetImg);%目标图的尺寸
[FusRow_in_SrcMask,FusCol_in_SrcMask] = find(SourceMask);%查找SourceMask中融合区的坐标
startFus_pos = [min(FusCol_in_SrcMask),min(FusRow_in_SrcMask)];
endFus_pos = [max(FusCol_in_SrcMask),max(FusRow_in_SrcMask)];%找到融合开始点和结束点
Fusion_size = endFus_pos - startFus_pos;
ImgFusion = cat(3, FusionImage(:,:,1), FusionImage(:,:,2), FusionImage(:,:,3));
figure, imagesc(uint8(ImgFusion)), axis image, title('融合图像');
imwrite(uint8(ImgFusion),'MyImgFusion.jpg')%保存图像为文件
3 仿真结果
4 参考文献
[1]陈浩, 王延杰. 基于拉普拉斯金字塔变换的图像融合算法研究[J]. 激光与红外, 2009, 39(4):4.