我使用MD5对图像进行哈希渲染,以便能够识别正在上传的重复图像。总的来说,这一直很好,但我最近发现有不同哈希值的重复图像。
我有两张图像在表面上显示为相同但后来使用在线工具进行比较它们似乎是不同的
彩色图像有0.4%不同,黑色和黑色相同。白色它们有0.1%不同,当选择“忽略抗锯齿”时,它们是相同的。
所以我想知道的是,如何在没有这种“抗锯齿”的情况下生成图像哈希?
我在Google上找不到任何有用的东西:/
更新
我在服务器上安装了ImageMagik,现在像这样散列图像:
$imagick_type = new Imagick();
$file_to_grab = "60a4ogfrd565no2dfzctfy4gpwaqib1pcct0s9s6ezb2nef3es.jpg";
$file_handle_for_viewing_image_file = fopen($file_to_grab, 'a+');
$imagick_type->readImageFile($file_handle_for_viewing_image_file);
$imagick_type_signature = $imagick_type->getImageSignature();
print($imagick_type_signature);
有问题的2张图片仍然会返回不同的哈希值。