0

在下图中,我计算了图像的傅立叶变换。现在我想使用 DO=50 在同一图像上应用理想的高通滤波器。图像中提到了傅里叶变换的代码。在此处输入图像描述

4

1 回答 1

1

我不知道什么是理想的高通滤波器。所以,我假设 HPF 是一个圆形滤波器。这是我的代码。

lena = im2double(rgb2gray(imread('lena.bmp')));
D0 = 50;
lpf = zeros(size(lena));
base_x = linspace(-size(lena,1)/2,size(lena,1)/2,size(lena,1));
base_y = linspace(-size(lena,2)/2,size(lena,2)/2,size(lena,2));
[x,y] = meshgrid(base_x, base_y);
lpf(x.^2+y.^2<D0^2) = 1;
hpf = 1-lpf;

LENA = fftshift(fft2(lena));
RESULT = LENA.*hpf;
result = abs(ifft2(RESULT));
figure, imshow(result,[])

首先,我使用 1-LPF 制作 HPF。(LPF' 形状是圆形。)HPF 像素级乘法图像。最后,ift IMAGE。

当你运行上面的代码时,你可以得到这个结果。

原始图像 原始图像 HPF 图像HPF 图像 结果图像结果图像

于 2013-10-28T07:52:58.220 回答