Matlab中filter2函数用法

目录 

语法

说明

示例

二维台座


        filter2函数是二维数字滤波器。

语法

Y = filter2(H,X)

Y = filter2(H,X,shape)

说明

Y = filter2(H,X) 根据矩阵 H 中的系数,对数据矩阵 X 应用有限脉冲响应滤波器。

Y = filter2(H,X,shape) 根据shape返回滤波数据的子区。例如,Y = filter2(H,X,'valid') 仅返回计算的没有补零边缘的滤波数据。

示例

二维台座

        可以使用与 conv2 函数紧密相关的 filter2 函数对图像和其他二维数据进行数字滤波。创建并绘制一个内部高度等于 1 的二维台座。

A = zeros(10);
A(3:7,3:7) = ones(5);
mesh(A)

        根据滤波器系数矩阵 H 对 A 中的数据进行滤波,并返回已滤波数据的满矩阵。

H = [1 2 1; 0 0 0; -1 -2 -1];
Y = filter2(H,A,'full');
mesh(Y)

        将 H 旋转 180 度,并将结果与 A 进行卷积。该输出等同于按照 H 中的系数对 A 中的数据进行滤波。

C = conv2(A,rot90(H,2));
mesh(C)

输入参数

H - 有理传递函数的系数

        有理传递函数的系数,指定为矩阵。

X - 输入数据

        输入数据,指定为矩阵。如果 X 和 H 中有一个或两个都是 single 类型,则输出的类型也是 single。否则,filter2 将返回 double 类型。

shape - 滤波数据的子区

        滤波数据的子区,指定为下列值之一:

  • 'same' - 返回滤波数据的中心部分,大小与 X 相同。

  • 'full' - 返回完整的二维滤波数据。

  • 'valid' - 仅返回计算的没有补零边缘的滤波数据部分。

算法       

        filter2 函数通过取输入 X 的二维卷积和旋转 180 度的系数矩阵 H 对数据进行滤波。具体而言,就是 filter2(H,X,shape) 等同于 conv2(X,rot90(H,2),shape)。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值