C ++中的高斯滤波器生成
众所周知,高斯滤波在图像处理领域非常有用。用于减少图像的噪点。在本节中,我们将看到如何生成2D高斯内核。用于生成2D内核的高斯分布如下。
$$G(x,y)=\frac{1}{2\Pi\:\sigma^{2}}e^{\frac{x^{2}+y^{2}}{2\sigma^{2}}}$$
示例
让我们看下面的实现以更好地理解-
#include <cmath>
#include <iomanip>
#include <iostream>
#define PI 3.1415
using namespace std;
void calc_filter(double kernel[][5]) {
double sigma = 1.0;
double p, q = 2.0 * sigma * sigma;
double sum = 0.0;
for (int x = -2; x <= 2; x++) {
for (int y = -2; y <= 2; y++) {
p = sqrt(x * x + y * y);
kernel[x + 2][y + 2] = (exp(-(p * p) / q)) / (PI * q);
sum += kernel[x + 2][y + 2];
}
}
for (int i = 0; i < 5; i++)
for (int j = 0; j < 5; j++)
kernel[i][j] /= sum;
}
int main() {
double kernel[5][5];
calc_filter(kernel);
for (int i = 0; i < 5; ++i) {
for (int j = 0; j < 5; ++j)
cout << kernel[i][j] << " ";
cout << endl;
}
}输出结果
0.00296902 0.0133062 0.0219382 0.0133062 0.00296902 0.0133062 0.0596343 0.0983203 0.0596343 0.0133062 0.0219382 0.0983203 0.162103 0.0983203 0.0219382 0.0133062 0.0596343 0.0983203 0.0596343 0.0133062 0.00296902 0.0133062 0.0219382 0.0133062 0.00296902
热门推荐
10 开业祝福语简短大气的
11 新婚红包祝福语简短男
12 周岁宴舅舅祝福语简短
13 送礼祝福语男性生日简短
14 恭喜新郎父母简短祝福语
15 满月红包英文祝福语简短
16 盛夏的温馨祝福语简短
17 老公生日祝福语简短好看
18 生日祝福语舅舅 简短独特