matlab 函数说明--fspecial

好吧,这个函数在图像处理中运用得非常广泛,虽然我还是觉得不知道为啥要取这个名字,fspecial的作用如下:

        产生一个预定义的2D 滤波器(create a predefined 2D filter)

那么,什么是滤波器呢?

可能你对滤波的概念不是很熟悉,但是你可能经常听说低通滤波器,高通滤波器,均值滤波器等概念,以均值滤波为例,在图像中要实现均值滤波,实际上就是将图像上任意一点的值设置为它邻域内所有点的均值,怎么做到这一点呢,我们可以设置如下模板H0

image

然后让模板在源图像范围内滑动,对应位置相乘得到的结果替换源图像中的待处理像素,这就是模板,也可以称作滤波器。在这里,你可以这么简单的理解,当然滤波器各有不同,所以会有不同的生成方法,fspecial可以生成一些预定义的滤波器,如高斯滤波器。

fspecial 能生成的滤波器有如下几种:

 

image

以高斯滤波器为例:

调用形式是: M = fspecial(‘gaussian’,hszie,sigma),作用是生成一个各向同性的高斯低通滤波器,其中hszie 如果是标量,生成的是一个hsize*hsize的方阵核,如果是vector ,比如 [2 3] ,则生成核为2*3的矩阵。sigma为高斯分布的参数,总为正数。实例如下:

 image

posted @ 2013-07-27 15:22  曾见绝美的阳光  阅读(1904)  评论(0编辑  收藏  举报