在下面的图像中,我计算了图像的傅里叶变换。现在我想在DO = 50的同一图像上应用理想的高通滤波器。图像中提到了傅里叶变换的代码。
答案 0 :(得分: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以像素方式乘以图像。 最后,ifft IMAGE。
运行上述代码时,您可以获得此结果。
原始图像 HPF图片 结果图片