From 7a61d4cc5307ed5b767f9b6115de23f542d998a3 Mon Sep 17 00:00:00 2001 From: cristy Date: Sun, 9 Nov 2014 01:48:47 +0000 Subject: [PATCH] --- MagickCore/statistic.c | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/MagickCore/statistic.c b/MagickCore/statistic.c index e494f238f..dccf29964 100644 --- a/MagickCore/statistic.c +++ b/MagickCore/statistic.c @@ -2051,7 +2051,6 @@ MagickExport ChannelStatistics *GetImageStatistics(const Image *image, register ssize_t j; - PixelTrait traits=GetPixelChannelTraits(image,i); area=PerceptibleReciprocal(channel_statistics[i].area); channel_statistics[i].sum*=area; channel_statistics[i].sum_squared*=area; @@ -2062,16 +2061,15 @@ MagickExport ChannelStatistics *GetImageStatistics(const Image *image, channel_statistics[i].standard_deviation=sqrt( channel_statistics[i].variance-(channel_statistics[i].mean* channel_statistics[i].mean)); - if (traits == UpdatePixelTrait) - for (j=0; j < (ssize_t) (MaxMap+1U); j++) - { - double - count; + for (j=0; j < (ssize_t) (MaxMap+1U); j++) + { + double + count; - count=histogram[GetPixelChannels(image)*j+i]*area; - channel_statistics[i].entropy+=-count*MagickLog10(count)/ - MagickLog10(MaxMap+1.0); - } + count=histogram[GetPixelChannels(image)*j+i]*area; + channel_statistics[i].entropy+=-count*MagickLog10(count)/ + MagickLog10(MaxMap+1.0); + } } for (i=0; i < (ssize_t) MaxPixelChannels; i++) { @@ -2096,8 +2094,9 @@ MagickExport ChannelStatistics *GetImageStatistics(const Image *image, channel_statistics[CompositePixelChannel].standard_deviation+= channel_statistics[i].variance-channel_statistics[i].mean* channel_statistics[i].mean; - channel_statistics[CompositePixelChannel].entropy+= - channel_statistics[i].entropy; + if (channel_statistics[i].entropy > MagickEpsilon) + channel_statistics[CompositePixelChannel].entropy+= + channel_statistics[i].entropy; } channels=GetImageChannels(image); channel_statistics[CompositePixelChannel].area/=channels; -- 2.40.0