matlab低通滤波

原创 2018年04月16日 21:02:49

低通滤波器的功能是让低频率通过而滤掉或衰减高频,其作用是过滤掉包含在高频中的噪声。所以低通滤波的效果是图像去噪声平滑增强,但同时也抑制了图像的边界,造成图像不同程度上的模糊。

大于大小为M×N的图像,频率点(u,v)与频率中心的距离为D(u,v),其表达式为:

1. 理想低通滤波器

产生公式为:

其中Do为理想低通滤波器的截止频率。理想低通滤波器具有平滑图像的作用,但是有很严重的振铃现象。

利用理想低通滤波器对图像进行滤波:

close all;clear all;clc;
%利用理想低通滤波器对图像进行滤波
I=imread('coins.png');
I=im2double(I);
M=2*size(I,1);  %滤波器的行数
N=2*size(I,2);  %滤波器的列数
u=-M/2:(M/2-1);
v=-N/2:(N/2-1);
[U,V]=meshgrid(u,v);
D=sqrt(U.^2+V.^2);
D0=80;  %截止频率设置为80
H=double(D<=D0);  %理想低通滤波器
J=fftshift(fft2(I,size(H,1),size(H,2)));  %时域图像转换到频域
K=J.*H;  %滤波处理
L=ifft2(ifftshift(K));  %傅立叶反变换
L=L(1:size(I,1),1:size(I,2));
figure;
subplot(121);imshow(I);  %显示原图像
subplot(122),imshow(L);  %显示滤波后的图像

可以看到,右图的图像边缘变得模糊了。
2. 巴特沃斯低通滤波器
产生公式为:

其中Do为巴特沃斯低通滤波器的截止频率,参数n为巴特沃斯滤波器的阶数,n越大则滤波器的形状越陡峭。
利用巴特沃斯滤波器对图像进行滤波:
close all;clear all;clc;
%利用巴特沃斯低通滤波器对图像进行滤波
I=imread('liftingbody.png');
I=im2double(I);
M=2*size(I,1);  %滤波器行数
N=2*size(I,2);  %滤波器列数
u=-M/2:(M/2-1);
v=-N/2:(N/2-1);
[U,V]=meshgrid(u,v);
D=sqrt(U.^2+V.^2);
D0=50;
n=6;
H=1./(1+(D./D0).^(2*n));  %构造巴特沃斯滤波器
J=fftshift(fft2(I,size(H,1),size(H,2)));  %转换到频域
K=J.*H;
L=ifft2(ifftshift(K));  %傅立叶反变换
L=L(1:size(I,1),1:size(I,2));  %改变图像大小
figure;
subplot(121),imshow(I);  %显示原始图像
subplot(122);imshow(L);  %显示滤波后的图像

该巴特沃斯低通滤波器,截止频率50,阶数为6。可以看到通过低通滤波后,去除了图像的高频部分,图像的边缘变得模糊。

3.高斯低通滤波器

产生公式为:

其中Do为高斯低通滤波器的截止频率


------坚持就是胜利------

MATLAB基础知识大串讲

全面学习MATLAB,从零开始,全面掌握MATLAB基础知识
  • 2016年12月27日 15:04

理想低通滤波器、巴特沃斯低通滤波器和高斯低通滤波器

低通滤波器         1.理想的低通滤波器        其中,D0表示通带的半径。D(u,v)的计算方式也就是两点间的距离,很简单就能得到。        使用低通滤波器所得...
  • tianrolin
  • tianrolin
  • 2015-03-05 16:21:26
  • 18789

频域低通滤波器(MATLAB 含代码)

在频谱中低频主要对应图像在平滑区域的总体灰度级分布,而高频对应图像的细节部分,如边缘和噪声。因此图像平滑可以通过衰减图像频谱中的高频部分来实现,这就建立了空间域图像平滑和频域低通滤波之间的对应关系。 ...
  • u013146742
  • u013146742
  • 2016-10-27 10:40:40
  • 11569

matlab三大低通滤波器的简单使用

下边为三个滤波器的使用,截至频率半径值分别设置30,90,160,,先对灰度图像进行加高斯噪声,然后进行滤波处理 F=fftshift(F);%将变换的原点移到频率矩形的中心   ...
  • CreazyMa
  • CreazyMa
  • 2017-04-19 15:41:45
  • 15239

matlab低通滤波

低通滤波器的功能是让低频率通过而滤掉或衰减高频,其作用是过滤掉包含在高频中的噪声。所以低通滤波的效果是图像去噪声平滑增强,但同时也抑制了图像的边界,造成图像不同程度上的模糊。大于大小为M×N的图像,频...
  • Ibelievesunshine
  • Ibelievesunshine
  • 2018-04-16 21:02:49
  • 46

<em>matlab低通</em>滤波源程序

<em>matlab低通</em>滤波器源代码 可以直接运行 注解详细 中文 一看就会程序部分: %实现了对频率为20和200Hz单频叠加cos信号的低通滤波,使输出仅含有20Hz分量 clear; fs=...
  • 2018年04月22日 00:00

用Matlab及C语言实现低通滤波器的设计

已知: 低通滤波器的截止频率 fl = 35Hz;即:通带边缘为35Hz,设定通带纹波1db; 采样频率 fs = 400Hz; 设定阻带边缘为 45Hz,衰减为40DB; 用Matlab编程: F...
  • ywxiao66
  • ywxiao66
  • 2013-12-05 17:52:25
  • 4824

matlab进行简单的滤波处理

本篇文章是超级简单的matlab进行图像滤波的程序,采用常用的频域滤波器进行简单的滤波操作,当然有时候空域效果较好。...
  • xuan_zizizi
  • xuan_zizizi
  • 2017-03-23 20:01:53
  • 3305

利用matlab编写的Butterworth低通滤波程序

clear all; close all; P=input('inputimage data:'); d=size(P); if(d(3)>1)     P=rgb2gray(P); en...
  • kobesdu
  • kobesdu
  • 2013-03-07 16:31:27
  • 7712

数字图像处理之低通滤波器实现原理及方法(Matlab)

转自http://blog.csdn.net/zhoufan900428/article/details/17194289  1.傅里叶变换与频域         在之前的文中,我们已经进行过一...
  • qq_29721419
  • qq_29721419
  • 2016-11-12 18:56:36
  • 11655
收藏助手
不良信息举报
您举报文章:matlab低通滤波
举报原因:
原因补充:

(最多只允许输入30个字)