From: cristy Date: Fri, 23 Oct 2009 13:03:15 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~10478 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=20a777c2e7aff44e458cf82a31f2e34a6f82d80b;p=imagemagick --- diff --git a/magick/gem.c b/magick/gem.c index 747ba0762..a53427c57 100644 --- a/magick/gem.c +++ b/magick/gem.c @@ -611,14 +611,13 @@ MagickExport double GenerateDifferentialNoise(RandomInfo *random_info, const Quantum pixel,const NoiseType noise_type,const MagickRealType attenuate) { #define NoiseEpsilon (attenuate*1.0e-5) -#define SigmaUniform ScaleCharToQuantum((unsigned char) (attenuate*4.0+0.5)) -#define SigmaGaussian 4.0 +#define SigmaUniform (attenuate*4.0) +#define SigmaGaussian (attenuate*4.0) #define SigmaImpulse (attenuate*0.10) -#define SigmaLaplacian ScaleCharToQuantum((unsigned char) (attenuate*10.0+0.5)) -#define SigmaMultiplicativeGaussian \ - ScaleCharToQuantum((unsigned char) (attenuate*1.0+0.5)) +#define SigmaLaplacian (attenuate*10.0) +#define SigmaMultiplicativeGaussian (attenuate*1.0) #define SigmaPoisson (attenuate*0.05) -#define TauGaussian 20.0 +#define TauGaussian (attenuate*20.0) double alpha, @@ -632,7 +631,8 @@ MagickExport double GenerateDifferentialNoise(RandomInfo *random_info, case UniformNoise: default: { - noise=(double) pixel+SigmaUniform*(alpha-0.5); + noise=(double) pixel+ScaleCharToQuantum((unsigned char) + (SigmaUniform*(alpha))); break; } case GaussianNoise: @@ -645,7 +645,7 @@ MagickExport double GenerateDifferentialNoise(RandomInfo *random_info, beta=GetPseudoRandomValue(random_info); sigma=sqrt(-2.0*log(alpha))*cos(2.0*MagickPI*beta); tau=sqrt(-2.0*log(alpha))*sin(2.0*MagickPI*beta); - noise=(double) pixel+attenuate*sqrt((double) pixel)*SigmaGaussian*sigma+ + noise=(double) pixel+sqrt((double) pixel)*SigmaGaussian*sigma+ TauGaussian*tau; break; }