alpha,
beta;
- alpha=image_phash[channel].srgb_moment[i];
- beta=reconstruct_phash[channel].srgb_moment[i];
+ alpha=image_phash[channel].srgb_hu_phash[i];
+ beta=reconstruct_phash[channel].srgb_hu_phash[i];
difference+=(beta-alpha)*(beta-alpha);
}
distortion[channel]+=difference;
alpha,
beta;
- alpha=image_phash[channel].hclp_moment[i];
- beta=reconstruct_phash[channel].hclp_moment[i];
+ alpha=image_phash[channel].hclp_hu_phash[i];
+ beta=reconstruct_phash[channel].hclp_hu_phash[i];
difference+=(beta-alpha)*(beta-alpha);
}
distortion[channel]+=difference;
n=FormatLocaleFile(file," %s:\n",name);
for (i=0; i < 7; i++)
n+=FormatLocaleFile(file," PH%.20g: %.*g, %.*g\n",i+1.0,
- GetMagickPrecision(),channel_phash[channel].srgb_moment[i],
- GetMagickPrecision(),channel_phash[channel].hclp_moment[i]);
+ GetMagickPrecision(),channel_phash[channel].srgb_hu_phash[i],
+ GetMagickPrecision(),channel_phash[channel].hclp_hu_phash[i]);
return(n);
}
return((ChannelPerceptualHash *) NULL);
for (channel=0; channel <= MaxPixelChannels; channel++)
for (i=0; i < 7; i++)
- perceptual_hash[channel].srgb_moment[i]=
+ perceptual_hash[channel].srgb_hu_phash[i]=
(-MagickLog10(moments[channel].I[i]));
moments=(ChannelMoments *) RelinquishMagickMemory(moments);
/*
}
for (channel=0; channel <= MaxPixelChannels; channel++)
for (i=0; i < 7; i++)
- perceptual_hash[channel].hclp_moment[i]=
+ perceptual_hash[channel].hclp_hu_phash[i]=
(-MagickLog10(moments[channel].I[i]));
moments=(ChannelMoments *) RelinquishMagickMemory(moments);
return(perceptual_hash);
typedef struct _ChannelPerceptualHash
{
double
- srgb_moment[32],
- hclp_moment[32];
+ srgb_hu_phash[32],
+ hclp_hu_phash[32];
} ChannelPerceptualHash;
typedef enum
for (i=0; i < 6; i++)
n+=FormatLocaleFile(file,
" \"PH%.20g\": [ \"%.*g\", \"%.*g\" ],\n",i+1.0,
- GetMagickPrecision(),channel_phash[channel].srgb_moment[i],
- GetMagickPrecision(),channel_phash[channel].hclp_moment[i]);
+ GetMagickPrecision(),channel_phash[channel].srgb_hu_phash[i],
+ GetMagickPrecision(),channel_phash[channel].hclp_hu_phash[i]);
n+=FormatLocaleFile(file,
" \"PH%.20g\": [ \"%.*g\", \"%.*g\" ]\n",i+1.0,
- GetMagickPrecision(),channel_phash[channel].srgb_moment[i],
- GetMagickPrecision(),channel_phash[channel].hclp_moment[i]);
+ GetMagickPrecision(),channel_phash[channel].srgb_hu_phash[i],
+ GetMagickPrecision(),channel_phash[channel].hclp_hu_phash[i]);
(void) FormatLocaleFile(file," }");
if (separator != MagickFalse)
(void) FormatLocaleFile(file,",");