Matlab中滤波操作的相关函数

Matlab中与滤波相关的函数:imfilter 和fspecial。imfilter完成滤波操作,fspecial用于创建一些预定义的二维滤波器供imfilter调用。

imfilter函数

函数格式:g=imfilter(f, w, option1, option2,…)
参数说明:

  • f是要进行滤波操作的对象;
  • w是滤波操作使用的模板 是一个二维数组;
  • g是滤波后的输出图像;
  • option1、option2是可选项 具体可以包括:

(1)边界选项

合法值含义
X(X代表一个具体的数字)用固定数值X填充虚拟边界,默认为0
‘symmetric’填充虚拟边界的内容是通过对靠近原图像边缘的像素关于边缘镜像得到
‘replicate’填充虚拟边界的内容总是重复与它最近的边缘像素
‘circular’周期性填充虚拟边界的内容(认为原图像具有周期性)

(2)尺寸选项

合法值含义
‘same’输出图像g与输入图像f尺寸相同
‘full’g的尺寸为填充虚拟边界后的f的尺寸,因而大于f的尺寸

(3)模式选项:指滤波过程使用卷积还是相关

合法值含义
‘conv’滤波过程为卷积
‘con’滤波过程为相关

fspecial创建预定义的二维滤波器

函数格式:h=fspecial(type,parameters)
参数说明:

  • type用于指定滤波器的类型,type的一些合法值如下:
合法值功能描述
‘average’平均模板
‘disk’圆形领域的平均模板
‘guassian’高斯模板
‘laplacian’拉普拉斯模板
‘log’高斯-拉普拉斯模板
‘prewitt’Prewitt水平边缘检测算子
‘’sobelSobel水平边缘检测算子
  • 参数值parameters为可选项,是和所选定type相关的配套参数,未选择则使用默认参数配置;
  • 返回值h为特定的滤波器,具体情况说明:
    (1)h=special(‘average’,hsize);返回一个大小为hsize的平均模板滤波器h,hsize可以是一个含有两个分量的向量,指明h的行和列的数目;
    (2) h=fspecial(‘disk’,radius);返回一个半径为radiu的圆形平均模板;
    (3)h=fspecial(‘gaussian’,hsize,sigma);返回一个大小为hsize,σ=sigma的高斯低通滤波器;
  • 4
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值