matlab中滤波函数imfilter,conv2,filter2总结

在matlab下输入命令doc 函数名就可以调出帮助文档,有详细的关于该函数的解释。以下是关于这3个滤波函数简要的总结。假定在图像处理中。


1. imfilter
imfilter函数对任意类型数组或多维图像进行滤波。
用法:
g = imfilter(f, w, options,…)
f:原始输入图像。
w:滤波掩模(如我们平时常会用到的一些边沿检测算子、对象进行平滑的高斯算子等)
g:对原始图像进行滤波后得到的输出图像。默认情况下尺寸与原始图像相同。
后面的options对应的参数可选,不选的话有其默认值。options对应的共有3个参数,分别是处理滤波模型选项filtering_mode,“相关”或“卷积”;边界处理选项boundary_options;输出图像尺寸选项size_options。这几个参数顺序无关。具体参数见下表:

参数列表 选项 描述
filtering_mode ‘corr’ 相关(默认)
‘conv’ 卷积
boundary_options X 输入图像的边界通过用值X值来填充扩展其默认值为0
‘replicate’ 复制外边界值
‘symmetric’ 镜像反射
‘circular’ 图像大小通过将图像看成是一个二维周期函数的一个周期来扩展
size_options ‘full’ 输出图像的大小与被扩展图像的大小相同
‘same’ 输出图像的大小与输入原始输入图像一样(默认)

2. filter2
filter2是相关滤波函数
用法:
假设输入图像X大小为ma x na,卷积核B大小为mb x nb
Y = filter2(H,X,shape)
H:相关核,即是上边提到的滤波掩模
X:输入图像
shape:可选,其参数如下:
‘same’(默认值):返回与X同样尺寸滤波后的图像。ma × ma
‘full’:返回全部二维滤波结果。(ma+mb-1)x(na+nb-1)
‘valid’:不考虑边界补零,即只要有边界补出的零参与运算的都舍去。(ma-mb+1)x(na-nb+1)
3. conv2
conv2是卷积滤波函数
用法:
Y = conv2(H,X,shape)
与filter2类似。不一样的是在计算时要将卷积核H进行旋转180°,相关核H则不需要。
如果理解卷积与相关定理的话是很容易理解的。

你可能感兴趣的:(matlab)