MATLAB filter2

filter2

二维数字滤波器。


语法


Y = filter2(H,X)
Y = filter2(H,X,shape)

描述

表达式 描述
Y = filter2(H,X) 根据矩阵H中的系数对数据X的矩阵应用有限脉冲响应滤波器(FIR filter)。它使用二维相关性计算结果’ Y ‘,并返回与’ X ‘大小相同的相关性的中心部分。
Y = filter2(H,X,shape)

返回shape参数指定的’ Y ‘部分。Shape是一个字符串,具有以下值之一:

  • full’ 返回完整的二维相关性。在这种情况下,Y大于X;
  • same’ :(默认)返回相关性的中心部分。在这种情况下,“Y”与“X”大小相同;
  • valid’:只返回那些计算时没有零填充边的相关部分。在这种情况下,Y小于X。

使用filter2函数没有唯一的最佳方法取决于你实际处理的问题。


举例

二维底面

使用filter2函数可对图像和其他二维数据进行数字过滤,filter2函数与conv2函数紧密相关。创建和绘制一个二维底面,高度等于1 。


A = zeros(10);
A(3:7,3:7) = ones(5);
mesh(A)
二维底面,高度等于1

根据滤波系数矩阵H对A中的数据进行滤波,返回滤波后数据的完整矩阵。


H = [1 2 1; 0 0 0; -1 -2 -1];
Y = filter2(H,A,'full');
mesh(Y)
滤波后数据的完整矩阵

将H旋转180度,将结果与A进行卷积,输出相当于将A中的数据与H中的系数进行滤波。


C = conv2(A,rot90(H,2));
mesh(C)
将H旋转180度,将结果与A进行卷积





公众号

关注公众号,获取一手资讯

“ MATLAB filter2 ” comments 0

评论/回复

电子邮件地址不会被公开。 必填项已用*标注