函数语法:
g= imfilter(f,w,filter_mode,boundary_options,size_options)
f是输入图像
g是输出图像
w是滤波模板
filter是滤波模式,默认情况下‘corr’是使用相关完成滤波,‘conv’是使用卷积完成滤波
boundary_options是边界选项,默认选型P,值为0,‘replicate’图像的大小通过复制图像边界外的值扩展,‘symmetric’图像的大小通过边界镜像反射扩展,‘circular’图像的大小通过将图像处理为二维周期函数的一个周期来扩展。边界的大小由滤波器的尺寸确定。
size_options大小选项,‘full’输出与扩展(填充)后的图像大小相同,‘same’(默认情况)输出图像的大小与输入图像的大小相同。
实现标准的线性空间滤波语法:
g= imfilter(f,w,'replicate')
注:默认使用相关,使用一个旋转后的滤波器执行相关操作与使用该原始滤波器执行卷积操作结果相同
执行卷积的语法:
① g = imfilter(f,w,‘conv’,'replicate')
② g = imfilter(f,rot90(w,2),'replicate')
注:rot90(w,k)将w旋转k*90度,k为整数。
imliter函数会产生与输入相同类的结果,当class = uint8时,裁减会引起数据丢失。