*image_moments,
*reconstruct_moments;
+ double
+ alpha,
+ beta,
+ difference;
+
Image
*phash_image;
}
for (i=0; i < 7; i++)
{
- ssize_t
+ ssize_t
channel;
/*
*/
for (channel=0; channel < MaxPixelChannels; channel++)
{
- double
- difference;
-
- if ((fabs(image_moments[channel].ellipse_intensity) < MagickEpsilon) ||
- (fabs(reconstruct_moments[channel].ellipse_intensity) < MagickEpsilon))
- continue;
- difference=log10(fabs(reconstruct_moments[channel].I[i]))-
- log10(fabs(image_moments[channel].I[i]));
+ alpha=fabs(image_moments[channel].I[i]);
+ beta=fabs(reconstruct_moments[channel].I[i]);
+ difference=0.0;
+ if ((alpha > MagickEpsilon) && (beta > MagickEpsilon))
+ difference=log10(beta)-log10(alpha);
distortion[channel]+=difference*difference;
distortion[CompositePixelChannel]+=difference*difference;
}
}
for (i=0; i < 7; i++)
{
- ssize_t
+ ssize_t
channel;
/*
*/
for (channel=0; channel < MaxPixelChannels; channel++)
{
- double
- difference;
-
- if ((fabs(image_moments[channel].ellipse_intensity) < MagickEpsilon) ||
- (fabs(reconstruct_moments[channel].ellipse_intensity) < MagickEpsilon))
- continue;
- difference=log10(fabs(reconstruct_moments[channel].I[i]))-
- log10(fabs(image_moments[channel].I[i]));
+ alpha=fabs(image_moments[channel].I[i]);
+ beta=fabs(reconstruct_moments[channel].I[i]);
+ difference=0.0;
+ if ((alpha > MagickEpsilon) && (beta > MagickEpsilon))
+ difference=log10(beta)-log10(alpha);
distortion[channel]+=difference*difference;
distortion[CompositePixelChannel]+=difference*difference;
}