Fork me on GitHub

opencv构建高斯卷积核

关于高斯核函数可以参见阮一峰老师的日志:高斯模糊的算法

如何使用高斯核进行高斯模糊可以参见我的另一篇日志:opencv构建自定义卷积

 1 Mat Gaussian_kernal(int kernel_size, int sigma)
 2 {
 3     const double PI = 3.14159265358979323846;
 4     int m = kernel_size / 2;
 5     Mat kernel(kernel_size, kernel_size, CV_32FC1);
 6     float s = 2 * sigma*sigma;
 7     for (int i = 0; i < kernel_size; i++)
 8     {
 9         for (int j = 0; j < kernel_size; j++)
10         {
11             int x = i - m, y=j - m;
12             kernel.ptr<float>(i)[j] = exp(-(x*x + y*y) / s) / (PI*s);
13         }
14     }
15     return kernel;
16 }

 

作者: Elliott Zheng

出处: http://www.cnblogs.com/elliottzheng/p/6616971.htmlp/6664218.html>

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 如有问题, 可邮件(elliott.zheng@foxmail.com)咨询.

posted @ 2017-03-25 13:47  ElliottZheng  阅读(4807)  评论(0编辑  收藏  举报