Lines Matching full:radius
26 void Blur::generateGaussianWeights(float* weights, int32_t radius) {
32 // x is of the form [-radius .. 0 .. radius]
33 // and sigma varies with radius.
34 // Based on some experimental radius values and sigma's
35 // we approximately fit sigma = f(radius) as
36 // sigma = radius * 0.3 + 0.6
37 // The larger the radius gets, the more our gaussian blur
40 float sigma = 0.3f * (float) radius + 0.6f;
50 for (int32_t r = -radius; r <= radius; r ++) {
52 weights[r + radius] = coeff1 * pow(e, floatR * floatR * coeff2);
53 normalizeFactor += weights[r + radius];
58 for (int32_t r = -radius; r <= radius; r ++) {
59 weights[r + radius] *= normalizeFactor;
63 void Blur::horizontal(float* weights, int32_t radius,
77 if (x > radius && x < (width - radius)) {
78 const uint8_t *i = input + (x - radius);
79 for (int r = -radius; r <= radius; r ++) {
86 for (int32_t r = -radius; r <= radius; r ++) {
107 void Blur::vertical(float* weights, int32_t radius,
120 if (y > radius && y < (height - radius)) {
121 const uint8_t *i = input + ((y - radius) * width);
122 for (int32_t r = -radius; r <= radius; r ++) {
129 for (int32_t r = -radius; r <= radius; r ++) {