fspecial函数用于创建预定义的滤波算子,会与imfilter搭配使用,其语法格式为:h = fspecial(type,para).
参数type制定算子类型,parameters指定相应的参数,具体格式为:
- type=‘average’,为均值滤波,参数为n,代表模版尺寸,用向量表示,默认值为[3,3]。
> G=fspecial('average')%默认为3*3的矩阵。均值滤波
G = 0.1111 0.1111 0.1111 0.1111 0.1111 0.1111 0.1111 0.1111 0.1111
> G=fspecial('average',5)%会产生5*5的矩阵。
- type= ‘gaussian’,为高斯低通滤波器,参数有两个,n表示模版尺寸,默认值为[3,3],sigma表示滤波器的标准差,单位为像素,默认值为
0.5。
> G=fspecial('gaussian',5)%参数为5,表示产生5\*5的gaussian矩阵,如果没有,默认为3\*3的矩阵。
G = 0.0000 0.0000 0.0002 0.0000 0.0000 0.0000 0.0113 0.0837 0.0113 0.0000 0.0002 0.0837 0.6187 0.0837 0.0002 0.0000 0.0113 0.0837 0.0113 0.0000 0.0000 0.0000 0.0002 0.0000 0.0000
> G=fspecial('gaussian',5,1.5)%1.5为滤波器的标准差。
G = 0.0144 0.0281 0.0351 0.0281 0.0144 0.0281 0.0547 0.0683 0.0547 0.0281 0.0351 0.0683 0.0853 0.0683 0.0351 0.0281 0.0547 0.0683 0.0547 0.0281 0.0144 0.0281 0.0351 0.0281 0.0144
- type= ‘laplacian’,为拉普拉斯算子,参数为alpha,用于控制拉普拉斯算子的形状,取值范围为[0,1],默认值为0.2。
- type= ‘log’,为拉普拉斯高斯算子,参数有两个,n表示模版尺寸,默认值为[3,3],sigma为滤波器的标准差,单位为像素,默认值为0.5
- type= ‘prewitt’,为prewitt算子,用于边缘增强,无参数。
- type= ‘sobel’,为著名的sobel算子,用于边缘提取,无参数。
- type= ‘unsharp’,为对比度增强滤波器,参数alpha用于控制滤波器的形状,范围为[0,1],默认值为0.2。
本文转载.