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

index 339babe4e0ad2fdddebaac2470307247c7c676a1..15a674b3ae4593267d071b9040fc41263700a76b 100644 (file)
@@ -1151,9 +1151,12 @@ MagickExport MagickBooleanType GetImageEntropy(const Image *image,
       channel_statistics[i].entropy;
     area++;
   }
-  channel_statistics[CompositePixelChannel].entropy/=area;
-  channel_statistics[CompositePixelChannel].standard_deviation=
-    sqrt(channel_statistics[CompositePixelChannel].standard_deviation/area);
+  if (area > MagickEpsilon)
+    {
+      channel_statistics[CompositePixelChannel].entropy/=area;
+      channel_statistics[CompositePixelChannel].standard_deviation=
+        sqrt(channel_statistics[CompositePixelChannel].standard_deviation/area);
+    }
   *entropy=channel_statistics[CompositePixelChannel].entropy;
   channel_statistics=(ChannelStatistics *) RelinquishMagickMemory(
     channel_statistics);
@@ -1413,9 +1416,12 @@ MagickExport MagickBooleanType GetImageMean(const Image *image,double *mean,
       channel_statistics[i].mean;
     area++;
   }
-  channel_statistics[CompositePixelChannel].mean/=area;
-  channel_statistics[CompositePixelChannel].standard_deviation=
-    sqrt(channel_statistics[CompositePixelChannel].standard_deviation/area);
+  if (area > MagickEpsilon)
+    {
+      channel_statistics[CompositePixelChannel].mean/=area;
+      channel_statistics[CompositePixelChannel].standard_deviation=
+        sqrt(channel_statistics[CompositePixelChannel].standard_deviation/area);
+    }
   *mean=channel_statistics[CompositePixelChannel].mean;
   *standard_deviation=
     channel_statistics[CompositePixelChannel].standard_deviation;