2 #include "IConvolution.h"
11 static void GetGaussianKernel(
float sigma,
float(& arr)[5][5])
13 float double_sigma_2 = 2.0 * sigma * sigma;
16 for (
int i = -2; i <= 2; i++)
19 for (
int j = -2; j <= 2; j++)
22 float val = exp(-(i_2 + j_2) / double_sigma_2);
23 arr[i + 2][j + 2] = val;
28 for (
int i = 0; i < 5; i++)
30 for (
int j = 0; j < 5; j++)
39 GetGaussianKernel(sigma, _kernel);
43 void Convolve(
float* in,
float* out,
int rows,
int cols)
const {
44 _convolution->
Convolve(in, out, rows, cols);
Definition: IConvolution.h:5
Definition: Convolution.h:22
virtual void Convolve(float *in, float *out, int rows, int cols) const =0
void Convolve(float *in, float *out, int rows, int cols) const
Definition: GaussianConvolution.h:43
Definition: GaussianConvolution.h:5