]> granicus.if.org Git - imagemagick/commitdiff
Color fuzz is max of two images squared.
authorcristy <urban-warrior@git.imagemagick.org>
Thu, 25 Dec 2014 02:03:01 +0000 (02:03 +0000)
committercristy <urban-warrior@git.imagemagick.org>
Thu, 25 Dec 2014 02:03:01 +0000 (02:03 +0000)
MagickCore/color.c
MagickCore/compare.c
MagickCore/pixel.c

index dba7d75aaff24e2f661ac1bf5b3979b7cd924bc1..e80b3312f8fba45f3c91f3e6e71d3760a517b5cd 100644 (file)
@@ -1679,7 +1679,8 @@ MagickPrivate MagickBooleanType IsEquivalentAlpha(const Image *image,
     return(MagickTrue);
   if (p->alpha == q->alpha)
     return(MagickTrue);
-  fuzz=MagickMax(image->fuzz,MagickSQ1_2)*MagickMax(image->fuzz,MagickSQ1_2);
+  fuzz=MagickMax(image->fuzz,MagickSQ1_2);
+  fuzz*=fuzz;
   pixel=(double) p->alpha-(double) q->alpha;
   distance=pixel*pixel;
   if (distance > fuzz)
@@ -1853,7 +1854,8 @@ MagickPrivate MagickBooleanType IsEquivalentIntensity(const Image *image,
 
   if (GetPixelInfoIntensity(p) == GetPixelInfoIntensity(q))
     return(MagickTrue);
-  fuzz=MagickMax(image->fuzz,MagickSQ1_2)*MagickMax(image->fuzz,MagickSQ1_2);
+  fuzz=MagickMax(image->fuzz,MagickSQ1_2);
+  fuzz*=fuzz;
   pixel=GetPixelInfoIntensity(p)-GetPixelInfoIntensity(q);
   distance=pixel*pixel;
   if (distance > fuzz)
index fae8a333bc5e2459497535437036f4aad165f87e..ff100733f46a0b105d58089953aa7db2e5e92cb1 100644 (file)
@@ -365,16 +365,9 @@ static MagickBooleanType GetAbsoluteDistortion(const Image *image,
     Compute the absolute difference in pixels between two images.
   */
   status=MagickTrue;
-  if (image->fuzz == 0.0)
-    fuzz=MagickMax(reconstruct_image->fuzz,MagickSQ1_2)*
-      MagickMax(reconstruct_image->fuzz,MagickSQ1_2);
-  else
-    if (reconstruct_image->fuzz == 0.0)
-      fuzz=MagickMax(image->fuzz,MagickSQ1_2)*
-        MagickMax(image->fuzz,MagickSQ1_2);
-    else
-      fuzz=MagickMax(image->fuzz,MagickSQ1_2)*
-        MagickMax(reconstruct_image->fuzz,MagickSQ1_2);
+  fuzz=(double) MagickMax(MagickMax(image->fuzz,reconstruct_image->fuzz),
+    (MagickRealType) MagickSQ1_2);
+  fuzz*=fuzz;
   image_view=AcquireVirtualCacheView(image,exception);
   reconstruct_view=AcquireVirtualCacheView(reconstruct_image,exception);
 #if defined(MAGICKCORE_OPENMP_SUPPORT)
index c776d24c8308fbf217682554e49729d2a751a602..16dd9cec8b5de734b8dd0f19151cc5c747a55dd6 100644 (file)
@@ -5919,8 +5919,9 @@ MagickExport MagickBooleanType IsFuzzyEquivalencePixel(const Image *source,
     distance,
     scale;
 
-  fuzz=(double) MagickMax(source->fuzz,(MagickRealType) MagickSQ1_2)*MagickMax(
-    destination->fuzz,(MagickRealType) MagickSQ1_2);
+  fuzz=(double) MagickMax(MagickMax(source->fuzz,destination->fuzz),
+    (MagickRealType) MagickSQ1_2);
+  fuzz*=fuzz;
   scale=1.0;
   distance=0.0;
   if (source->alpha_trait != UndefinedPixelTrait)
@@ -6030,15 +6031,9 @@ MagickExport MagickBooleanType IsFuzzyEquivalencePixelInfo(const PixelInfo *p,
 
   if ((p->fuzz == 0.0) && (q->fuzz == 0.0))
     return(IsPixelInfoEquivalent(p,q));
-  if (p->fuzz == 0.0)
-    fuzz=MagickMax(q->fuzz,(MagickRealType) MagickSQ1_2)*
-      MagickMax(q->fuzz,(MagickRealType) MagickSQ1_2);
-  else if (q->fuzz == 0.0)
-    fuzz=MagickMax(p->fuzz,(MagickRealType) MagickSQ1_2)*
-      MagickMax(p->fuzz,(MagickRealType) MagickSQ1_2);
-  else
-    fuzz=MagickMax(p->fuzz,(MagickRealType) MagickSQ1_2)*
-      MagickMax(q->fuzz,(MagickRealType) MagickSQ1_2);
+  fuzz=(double) MagickMax(MagickMax(p->fuzz,q->fuzz),(MagickRealType)
+    MagickSQ1_2);
+  fuzz*=fuzz;
   scale=1.0;
   distance=0.0;
   if ((p->alpha_trait != UndefinedPixelTrait) ||