opencv构建高斯卷积核

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

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

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

本文标题:opencv构建高斯卷积核

文章作者:Elliott Zheng

发布时间:2018年03月25日 - 08:03

最后更新:2018年05月28日 - 16:05

原始链接:https://hypercube.top/2018/03/25/gauss/

许可协议: 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议
欢迎转载,但请保留原文链接及作者。

0%