用MATLAB进行对图像滤波,(MATLAB应用图像处理)第4章MATLAB图像滤波.ppt

第4章 MATLAB图像滤波 4.1 线性滤波器的空间域设计法 4.1.1 简介   滤波是一种用来改变或增强图像的技术。例如,通过滤波可以强化或去除图像的某种特征,它能够处理图像的操作包括平滑、锐化、边缘增强等。滤波是一种邻域操作,在这种操作中,输出图像的像素点的值取决于输入图像某个邻域内的像素点的值。线性滤波中输出像素点的值是输入图像某个邻域内像素点的值的线性组合。 4.1.2 卷积   线性滤波通过卷积来完成。卷积是一种邻域操作,操作中输出图像的像素点的值是对应输入像素点邻域内像素点值的加权和,其中权矩阵称为卷积核矩阵,也称为滤波器。卷积核是相关核旋转180°得到的。例如,图4.1所示图像A和卷积核h分别为   以输入图像像素点(2,4)为例说明卷积的计算过程。第一步:将卷积核绕其中心元素5旋转180°;第二步:将旋转后的卷积核平移,使其中心元素与像素点(2,4)重合;第三步:将卷积核元素与输入图像的对应像素相乘;第四步:将以上各项相乘的结果相加,得到卷积结果575。 4.1.3 相关   相关操作与卷积操作类似,也是求邻域内点的加权和,权矩阵为相关核。不同的是在计算过程中不需对相关核进行旋转操作。图4.2给出了图像A的像素点(2,4)处相关的计算示意图。   以图像像素点(2,4)为例说明相关的计算过程。第一步:将相关核平移,使其中心元素与像素点(2,4)重合;第二步:将相关核元素与图像的对应像素值相乘;第三步:将以上各项相乘的结果相加,得到卷积结果585。   以上介绍表明,不管是在空间域内还是在频域内定义滤波器,关键在于给出滤波器的核矩阵,对于空间域中核矩阵的定义比较容易获得,我们将在第7章图像空间增强部分具体介绍。而滤波器频域内的描述我们接触得比较多,滤波器种类也比较丰富,设计并获取核矩阵比空间滤波器的复杂,MATLAB图像处理工具箱对频域滤波器给出了几个函数。本章将对此进行较为详细的介绍。另外,MATLAB图像处理工具箱还给出了几个对二维甚至高维图像数据进行滤波处理的函数,如imfilter等。 4.2 滤波器频域设计法   图像处理工具箱支持有限冲激响应(FIR)线性滤波器,即对单点或者单个脉冲具有有限范围的响应的滤波器。FIR滤波器具有如下几个特性,这些特性使得它便于在MATLAB图像处理环境中实现:   (1) ?FIR滤波器的系数便于用矩阵表示;   (2) 二维FIR滤波器是一维FIR滤波器的自然拓展;   (3) ?FIR滤波器有多种可靠的众所周知的设计方法;   (4) ?FIR滤波器易于实现;   (5) ?FIR滤波器可以设计成具有线性相位以消除图像的扭曲。   无限冲激响应(IIR)滤波器由于不稳定且相对于FIR滤波器来讲不便于设计,故而在MATLAB图像处理工具箱中没有提供对IIR滤波器的支持。MATLAB所有图像处理滤波器设计函数都返回一个FIR滤波器。 4.2.1 频率变换设计法   频率变换法通过频率变换,将一个一维FIR滤波器变换成二维FIR滤波器。它设计出的滤波器保持了一维滤波器的大多数特性,特别是传输带宽、纹波特征等。由于设计一个具有特殊性质的一维滤波器比二维滤波器要简单得多,所以频域变换法可以产生很理想的效果。   MATLAB图像处理工具箱中的一个ftrans2函数实现了频域变换设计算法。ftrans的基本调用方法为    h=ftrans2(b, t)    h=ftrans2(b)   第一种调用方法由一个一维数字滤波器的冲激响应b通过频域变换t生成二维滤波器h,t为变换矩阵;第二种调用方法调用t的默认值产生具有循环对称的变换矩阵,默认情况下,t采用McClellan变换矩阵: (4.2)   可以通过自己定义变换矩阵,得到不同的对称性。冲激响应b必须是一个一维的、长度为奇数的数字滤波器,可以通过信号处理工具箱中的fir1、fir2和firpm等函数产生。如果t是m×n维的,b的长度为Q,则所设计的滤波器h的尺度为((m-1) × (Q-1)/2+1)×((n-1)×(Q-1)/2+1)。   函数ftrans2返回的二维滤波器的频率响应由以下变换定义: (4.3) 其中,B(ω)是一维滤波器b的傅立叶变换,即 (4.4) T(ω1,ω2)是变换矩阵t的傅立叶变换,即 (4.5) 返回的滤波器h是H(ω1,ω2)的逆傅立叶变换,即 (4.6)   例如,以下代码设计了一个一维最优的波动FIR滤波器,并用频域变换方法设计一个具

你可能感兴趣的:(用MATLAB进行对图像滤波)