【matlab】Gauss/Laplace Pyramid

本文介绍了一种图像处理技术,通过下采样(去除偶数行和列)和上采样(双三次插值)过程构建高斯金字塔和拉普拉斯金字塔的方法。该方法首先使用高斯内核对原始图像进行平滑处理,然后逐步减少图像尺寸以形成高斯金字塔;接着通过放大图像并计算与原图像的差值得到拉普拉斯金字塔。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Downsample
1)对图像G_i进行高斯内核卷积
2)将所有偶数行和列去除

Upsample
1)将图像在每个方向扩大为原来的两倍,新增的行和列以0填充
2)放大后的图像卷积,获得 “新增像素”的近似值

这里写图片描述

clear
clc
I = im2double(imread('1.png'));
I=rgb2gray(I);
N = 4; % layer
f = [.05, .25, .4, .25, .05];   % filter
f = f'*f;

G = cell(N,1);
G{1} = I;
for n = 2 : N
  t = imfilter(G{n-1}, f, 'conv', 'same', 'replicate');
  G{n} = t(1:2:end, 1:2:end); % 下采样
end 

L = cell(N,1);
L{N} = G{N};
for n = 1 : N-1
   t = imresize(G{n+1}, 2, 'bicubic');% 双上线性插值
   %t = zeros(2*size(G{n+1}));
   %t(1:2:end, 1:2:end) = G{n+1};
   %t(2:2:end, 2:2:end) = G{n+1};
   %t(1:2:end, 2:2:end) = G{n+1};
   %t(2:2:end, 1:2:end) = G{n+1};% 上采样
   I = imfilter(t, f, 'conv', 'same', 'replicate');
   L{n} = G{n} - I;
end
%figure;
for n = 1 : N
    figure(n);
    %subplot(2,N,n)
    imshow(G{n});
end

for n = 1 : N
    figure(n+N);
    %subplot(2,N,n+N)
    imshow(L{n});
end

参考
图像处理中的高斯金字塔和拉普拉斯金字塔

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值