From: anthony Date: Fri, 11 Sep 2009 06:46:40 +0000 (+0000) Subject: (no commit message) X-Git-Tag: 7.0.1-0~10727 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4efe597d89121c187410c396c2474a3cbbc653bf;p=imagemagick --- diff --git a/magick/enhance.c b/magick/enhance.c index f1a96122e..6c5b9b724 100644 --- a/magick/enhance.c +++ b/magick/enhance.c @@ -112,7 +112,9 @@ MagickExport MagickBooleanType AutoGammaImageChannel(Image *image, status; double - mean,junk,gamma; + mean,junk,gamma,logmean; + + logmean=log(0.5); if ((channel & SyncChannels) != 0 ) { @@ -120,7 +122,7 @@ MagickExport MagickBooleanType AutoGammaImageChannel(Image *image, Apply gamma correction equally accross all given channels */ GetImageChannelMean(image, channel, &mean, &junk, &image->exception); - gamma = log(mean*QuantumScale)/log(0.5); + gamma = log(mean*QuantumScale)/logmean; //return GammaImageChannel(image, channel, gamma); return LevelImageChannel(image, channel, 0.0, (double)QuantumRange, gamma); @@ -133,7 +135,7 @@ MagickExport MagickBooleanType AutoGammaImageChannel(Image *image, if ((channel & RedChannel) != 0) { GetImageChannelMean(image, RedChannel, &mean, &junk, &image->exception); - gamma = log(mean*QuantumScale)/log(0.5); + gamma = log(mean*QuantumScale)/logmean; //status = status && GammaImageChannel(image, RedChannel, gamma); status = status && LevelImageChannel(image, RedChannel, 0.0, (double)QuantumRange, gamma); @@ -141,7 +143,7 @@ MagickExport MagickBooleanType AutoGammaImageChannel(Image *image, if ((channel & GreenChannel) != 0) { GetImageChannelMean(image, GreenChannel, &mean, &junk, &image->exception); - gamma = log(mean*QuantumScale)/log(0.5); + gamma = log(mean*QuantumScale)/logmean; //status = status && GammaImageChannel(image, GreenChannel, gamma); status = status && LevelImageChannel(image, GreenChannel, 0.0, (double)QuantumRange, gamma); @@ -149,7 +151,7 @@ MagickExport MagickBooleanType AutoGammaImageChannel(Image *image, if ((channel & BlueChannel) != 0) { GetImageChannelMean(image, BlueChannel, &mean, &junk, &image->exception); - gamma = log(mean*QuantumScale)/log(0.5); + gamma = log(mean*QuantumScale)/logmean; //status = status && GammaImageChannel(image, BlueChannel, gamma); status = status && LevelImageChannel(image, BlueChannel, 0.0, (double)QuantumRange, gamma); @@ -158,7 +160,7 @@ MagickExport MagickBooleanType AutoGammaImageChannel(Image *image, (image->matte == MagickTrue)) { GetImageChannelMean(image, OpacityChannel, &mean, &junk, &image->exception); - gamma = log(mean*QuantumScale)/log(0.5); + gamma = log(mean*QuantumScale)/logmean; //status = status && GammaImageChannel(image, OpacityChannel, gamma); status = status && LevelImageChannel(image, OpacityChannel, 0.0, (double)QuantumRange, gamma); @@ -167,7 +169,7 @@ MagickExport MagickBooleanType AutoGammaImageChannel(Image *image, (image->colorspace == CMYKColorspace)) { GetImageChannelMean(image, IndexChannel, &mean, &junk, &image->exception); - gamma = log(mean*QuantumScale)/log(0.5); + gamma = log(mean*QuantumScale)/logmean; //status = status && GammaImageChannel(image, IndexChannel, gamma); status = status && LevelImageChannel(image, IndexChannel, 0.0, (double)QuantumRange, gamma);