status;
double
- mean,junk,gamma;
+ mean,junk,gamma,logmean;
+
+ logmean=log(0.5);
if ((channel & SyncChannels) != 0 )
{
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);
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);
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);
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);
(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);
(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);