Perceptual Image Hash Comparator

Perceptual distance is not proof of identity, originality, copyright status, authenticity, or duplication. There is no universal cutoff. Browser decoding, EXIF orientation handling, resizing, and color management can change pixels and hashes.

Pipeline: browser-oriented decode → drawImage to fixed canvas → alpha composited over selected sRGB color → encoded-sRGB luminance Y=0.2126R+0.7152G+0.0722B. aHash uses 8×8 mean; dHash uses 9×8 horizontal comparisons; pHash uses 32×32 separable DCT and the first 64 zigzag AC coefficients (DC excluded), thresholded by their median.