文档详情

matlab在信号图像处理中应用第10章.doc

发布:2017-09-12约1.16万字共17页下载文档
文本预览下载声明
第10章 Matlab图像滤波及滤波器设计 滤波及滤波器设计在前述信号处理的章节中已有介绍,图像作为二维信号同样需要滤波处理,例如,滤波技术在图像增强和图像复原中有广泛的应用,可以通过滤波图像来增强图像的某个属性或去除一些属性。对于图像处理,最常用的滤波器是FIR滤波器。因此,本章将重点介绍FIR滤波器。 了解卷积与相关 了解FIR数字滤波器的设计步骤及常用的7种类型的窗函数FIR滤波器 熟练掌握计算二维频率响应和创建期望频率响应矩阵的方法 掌握利用频率变换法、频率采样法、窗函数法设计FIR滤波器的方法 频率变换法 频率采样法 窗函数法 10.1 线性滤波 滤波器通常是指对输入信号进行滤波的硬件或软件。在线性系统理论中,系统表示一般常用的数学模型,包括:传递函数模型(系统外部模型)、状态方程模型(系统内部模型)和零极点增益模型等。 一个线性时不变(LTI)数字滤波器可以用以下的常系数线性差分方程来表示: (10-1) 式中,和分别表示输入和输出信号序列,和是滤波器系数。 连续LTI系统的状态方程可以写成 (10-2) (10-3) 零极点模型实际上是传递函数模型的另一种表现形式,其原理是分别对原系统传递函数的分子和分母进行分解因式处理,以获得系统的零极点表示形式,对单输入单输出系统来说,可以简单地将其零极点模型写成 (10-4) 式中,和分别称为系统的零点和极点,它们既可以是实数,也可以是复数,是系统的增益,也称为传递函数。 10.1.1 卷积与相关 在Matlab2007a中提供了一些函数进行卷积或相关运算,下面对这些函数进行介绍。 1. conv函数 令,卷积运算的数学模型公式如下: (10-5) conv函数调用格式如下: w=conv(u,v) w=conv(u,v)表示分别对矢量求卷积,结果矢量的长度为Length ()+Length ()-1。如果分别是多项式系数,则卷积的结果等价于多项式的乘法。 2. conv2函数 conv2函数是二维卷积运算函数(convmtx2函数和conv2函数类似)。如果和是两个离散变量和的函数,则关于和的二维卷积运算数学公式如下: (10-6) conv2函数调用格式如下: c=conv2(A,B) c=conv2(hcol,hrow,A) c=conv2(…, ‘shape’) c=conv2(A,B)计算数组A和B的二维卷积。如果一个数组描述了一个二维FIR滤波器,则另一个数组被二维滤波。当A的大小为[ma,na],B的大小为[mb,nb]时,C的大小为[ma+mb-1, na+nb-1]。参数‘shape’见表10-1。 表10-1 参数‘shape’的定义值 参数值 含义 ‘full’ 默认值,返回全部二维卷积值 ‘same’ 返回与A大小相同卷积值的中间部分 ‘valid’ 当all(size(A)=size(B)),C的大小为[ma-mb+1, na-nb+1]);否则,C返回[ ]。在维卷积运算中,C的大小为max(size(A)-size(B)+1,0) s=[1 2 1;0 0 0;-1 -2 -1]; A=zeros(10); A(3:7,3:7)=ones(5); H=conv2(A,s); mesh(H) 结果如图10-1所示。 图10-1卷积示意图 3. convn函数 在Matlab2007a中,除了提供二维卷积之外,还提供了n维卷积函数convn。函数调用格式为: c=convn(A,B) %计算数组A和B的n维卷积运算,返回值C的大小为size(A)+size(B)-1 c=convn(A,B,‘shape’)%参数‘shape’的说明见表10-1 4. corrcoef函数 在Matlab2007a中,互相关系数函数corrcoef的调用格式为: R=corrcoef(X) %返回互相关系数矩阵,其中矩阵X的每行为一个样本,每列为一 个向量。 R=corrcoef (x,y) %若x和y都是列向量,则它等价于R=corrcoef ([x y])。 [R,P]=corrcoef(…) [R,P,RLO,RUP]=corrcoef(…) […]=corrcoef(…, ‘param1’,val1, ‘param2’,val2,…) 10.1.2 MATLAB滤波函数 1. imfilter滤波函数 在Matlab2007a图像处理工具箱
显示全部
相似文档