灰度图像的频率域滤波——理想低通滤波器(Matlab)

clc;
clear all;
close all;

%读入图像,并转换为double型
I=imread('D:\Gray Files\4-41.tif');
I_D=im2double(I);
%获得图像的高度和宽度
[M,N]=size(I_D);
%图像中心点
M0=M/2;
N0=N/2;
J=fft2(I_D);
J_shift=fftshift(J);

%%%%%%%=================理想低通滤波器(Ideal Lowpass)====================
%定义圆的半径,也可以理解为截断频率
r=160;
%沿图像中心取出(2n+1)*(2n+1)的矩形
filter_circle=J_shift(M0-r:M0+r,N0-r:N0+r);
%计算是否在半径为n的圆内,圆点为n+1,利用二象限的值,确定一、三、四象限
n2=r^2;
%获取矩阵的宽度
w=length(filter_circle);
for x=1:r+1
    x2=(x-r+1)^2;
    for y=1:r+1
        y2=(y-r+1)^2;
        if x2+y2>n2
           filter_circle(x,y)=0;
           filter_circle(w-x+1,y)=0;
           filter_circle(w-x+1,w-y+1)=0;
           filter_circle(x,w-y+1)=0;
        end
    end
end
J_shift=zeros(M,N);
J_shift(M0-r:M0+r,N0-r:N0+r)=filter_circle;

J=ifftshift(J_shift);
I_D_rep=ifft2(J);
imshow(I_D_rep,[]);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值