l1=zeros(m,n); % 理想高通滤波
d1=30;
for i=1:m
for j=1:n
d=sqrt((i-m_mid)^2+(j-n_mid)^2);
if d>=d1
l1(i,j)=1.0;
end
end
end
img_lpf1=l1*f_shift; % 滤波操作
img_lpf1=ifftshift(img_lpf1); % 逆 shift 操作/中心平移回原来状态
img_lpf1=ifft2(img_lpf1); % 反傅里叶变换 输出一个复数
img_lpf1=real(img_lpf1); % 取复数单元的实数部分构成灰度图像
subplot(3,3,5);imshow(l1);title('high pass filter');
subplot(3,3,8);imshow(img_lpf1);title('high pass filterd image');