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