From: cristy Date: Tue, 16 Apr 2013 23:33:08 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~3870 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6eec52086601eb965df2d7163b5eac6a972d2e10;p=imagemagick --- diff --git a/MagickCore/effect.c b/MagickCore/effect.c index 3b5ac93a6..1291d6e51 100644 --- a/MagickCore/effect.c +++ b/MagickCore/effect.c @@ -264,7 +264,7 @@ MagickExport Image *AdaptiveBlurImage(const Image *image,const double radius, if (kernel[i] == (MagickRealType *) NULL) break; normalize=0.0; - j=(ssize_t) (width-i)/2; + j=(ssize_t) (width-i-1)/2; k=0; for (v=(-j); v <= j; v++) { @@ -276,11 +276,9 @@ MagickExport Image *AdaptiveBlurImage(const Image *image,const double radius, k++; } } - if (fabs(normalize) < MagickEpsilon) - normalize=MagickEpsilon; - normalize=PerceptibleReciprocal(normalize); - for (k=0; k < (j*j); k++) - kernel[i][k]=normalize*kernel[i][k]; + kernel[i][(j-1)/2]+=(1.0-normalize); + if (sigma < MagickEpsilon) + kernel[i][(j-1)/2]=1.0; } if (i < (ssize_t) width) { @@ -601,11 +599,9 @@ MagickExport Image *AdaptiveSharpenImage(const Image *image,const double radius, k++; } } - if (fabs(normalize) < MagickEpsilon) - normalize=MagickEpsilon; - normalize=PerceptibleReciprocal(normalize); - for (k=0; k < (j*j); k++) - kernel[i][k]=normalize*kernel[i][k]; + kernel[i][(k-1)/2]=(double) ((-2.0)*normalize); + if (sigma < MagickEpsilon) + kernel[i][(k-1)/2]=1.0; } if (i < (ssize_t) width) { @@ -661,8 +657,8 @@ MagickExport Image *AdaptiveSharpenImage(const Image *image,const double radius, center, j; - j=(ssize_t) ceil((double) width*QuantumScale* - GetPixelIntensity(edge_image,r)-0.5); + j=(ssize_t) ceil((double) width*(1.0-QuantumScale* + GetPixelIntensity(edge_image,r))-0.5); if (j < 0) j=0; else