]> granicus.if.org Git - imagemagick/commitdiff
(no commit message)
authorcristy <urban-warrior@git.imagemagick.org>
Sun, 9 Nov 2014 01:48:47 +0000 (01:48 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Sun, 9 Nov 2014 01:48:47 +0000 (01:48 +0000)
MagickCore/statistic.c

index e494f238fb76467dd9b58e86cdb1b2b8bddebcc2..dccf29964f8074b7237d6eaa0c560fd04dfba84c 100644 (file)
@@ -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;