在下图中,我计算了图像的傅立叶变换。现在我想使用 DO=50 在同一图像上应用理想的高通滤波器。图像中提到了傅里叶变换的代码。
问问题
1336 次
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 图像 结果图像
于 2013-10-28T07:52:58.220 回答