高斯滤波

来源:互联网 发布:mac mp3转m4r 编辑:程序博客网 时间:2024/05/22 14:48

转自http://blog.csdn.net/fullyfulei/article/details/8758372

如何计算高斯函数模板(高斯核)?

其实,只要知道模板的大小和高斯函数的方差sigma,由二维高斯函数的表达式很容易计算出高斯核,只要在归一化就可以了。但是由高斯函数的分布特性可知落在u-3*sigma到u+3*sigma的概率大于百分之九九,所以模板大小的选取往往与sigma的取值是相关的,一般而言:

取dim = 1 + 2 * ((int) (3.0 * sigma));opencv和sift中的源码也是这么做的,当然实际中可以其实没有这么严格。我们可以使用matlab中的函数直接计算出高斯核,例如3x3的高斯模板:filter=fspecial(‘gaussian’,3,1);其中sigma=1;

sigma的取值决定了高斯函数窗口的大小。在实际中经常看到sigma取值0.8或者1。正常情况下我们由高斯函数计算得到的模板是浮点型数,即double,但是有些情况我们为了加快计算需要将模板处理成整数,对于常见的3x3或者5x5其整数模板如下:
这里写图片描述

对于浮点数的模板其实往往也都比较固定。
参考
http://homepages.inf.ed.ac.uk/rbf/HIPR2/gsmooth.htm

0 0