您的位置:首页 > 编程语言 > MATLAB

图像拉普拉斯金字塔(laplacian pyramid)并从金字塔重建原图 matlab程序实现

2017-04-08 10:39 946 查看
<span style="font-size:18px;">clear  

inputPath ='D:\数字图像处理\研究方向\Filter Smooth\images\';  

filename = [inputPath 'pai.png'];  

I = im2double(imread(filename));  

if size(I,3)==3  

    I=rgb2gray(I);  

end  

  

nlev=4;  

sigma=1;  

sigma_r=0.1;  

  

f = [.05, .25, .4, .25, .05];  

f = f'*f;  

  

%构建拉普拉斯金字塔  

pyr = cell(nlev,1);  

J = I;  

for l = 1:nlev-1     

    J_gauss = imfilter(J,f,'replicate');  

    J_gauss_down = J_gauss(1:2:size(J_gauss,1)-1,1:2:size(J_gauss,2)-1); %downsample   

    J_gauss_high = imresize(J_gauss_down,[size(J_gauss,1) size(J_gauss,2)],'bilinear');  

    pyr{l} = J-J_gauss_high;  

    J=J_gauss_down;  

end  

pyr{nlev}=J_gauss_down;  

  

% for i=1:length(pyr)  

%     figure;imshow(mat2gray(pyr{i}));  

% end  

  

%从金字塔重建图像  

out = pyr{nlev};  

for l = nlev-1 : -1 : 1  

    out = pyr{l} + imresize(out,[size(pyr{l},1) size(pyr{l},2)],'bilinear');  

end  

  

figure;imshow([mat2gray(out),I]);title('重建之后图像,原图');  

% figure;imshow(I);</span>  

下面是运行效果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: