去除蜂窝状的噪声(matlab实现)

如下图所示,图片中有蜂窝状的噪声,影响视野,可以通过频域滤波进行消除。
在这里插入图片描述

%% 读取图像
i = rgb2gray(imread('图1.jpg'));
figure(1)
subplot(221),imshow(i,[]),title('原图')
i_fft = fftshift(fft2(i));
subplot(222),imshow(abs(log10(abs(i_fft)+1)),[]),title('原图对应频谱')
%% 生成频域高斯低通滤波
x = linspace(-23,24,480);
y = linspace(-31,32,640);
[X,Y] = meshgrid(y, x);
D=sqrt(X.^2+Y.^2);
D0=0.1*35;
H=exp(-(D.^2)/(2*(D0)^2));
%% 滤波结果
res_fft = i_fft.*H;
subplot(223),imshow(abs(log10(abs(res_fft)+1)),[]),title('滤波后频谱')
res = ifft2(fftshift(res_fft));
subplot(224),imshow(res,[]),title('滤波后结果')


在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值