MATLAB 简单图像融合
通过本篇和上一篇的结合,应该就能做出拉普拉斯图像融合了。
这里用的方法很简单,就是用模板和两个图像相乘,然后对处理后的两个图像再相加就可以了。
拉普拉斯融合就是对金字塔的每一层图像做这样的操作,然后再重构就行了。
先看看这里的效果:
原图apple
原图orange:
模板图像(实际处理时需要对模板进行模糊):
融合后图像:
matlab代码如下:
1 clear all; close all; clc;
2
3 apple=double(imread(\'apple.jpg\'));
4 orange=double(imread(\'orange.jpg\'));
5
6 [m n]=size(apple);
7 maska=[ones(m,220) zeros(m,n-220)];
8 masko=1-maska;
9
10 maska=imfilter(maska,fspecial(\'gaussian\',20,10),\'replicate\',\'same\');
11 masko=imfilter(masko,fspecial(\'gaussian\',20,10),\'replicate\',\'same\');
12
13 re=maska.*apple+masko.*orange;
14
15 imshow(re,[])