PHP图像比较

时间:2016-06-18 11:28:52

标签: php image-processing image-comparison

img_1由PHP创建,img_2保存在服务器上。我试图将这些与图片进行比较,看看它们是否有所不同,我试过这个,但它没有用。

$script_img = imagecreatetruecolor(2390, 2400);
$web_img = imagecreatefrompng("URL_TO_IMG");

if ($script_img==$web_img ) {
    echo "SAME";
}
else{
    echo "DIFFERENT";
}

下一个示例有效,但是当我调用imagepng时,PHP会在浏览器或奇怪的字母中创建图像(如果标题未设置为image / png),我也不希望这样。

$script_img = imagecreatetruecolor(2390, 2400);
$web_img = imagecreatefrompng("URL_TO_IMG");
$rendered = imagepng($web_img);

if ($script_img==$rendered ) {
    echo "SAME";
}
else{
    echo "DIFFERENT";
}

我也试过file_get_contents($script_img) == file_get_contents("URL_TO_IMG"),但它没有用。

使用md5(file_get_contents(imagecreatetruecolor(2390, 2400))) == md5(file_get_contents(imagecreatefrompng("URL_TO_IMG")))有效,但我怀疑这是比较2张图片的最佳/正确方法。

在PHP中比较图像的最佳/正确方法是什么?

1 个答案:

答案 0 :(得分:0)

为什么不尝试比较两张图片的MD5哈希值。

  $md5LocalImg = md5(file_get_contents($script_img));
  $md5WebImg   = md5(file_get_contents($web_img));
  if ( $md5LocalImg == $md5WebImg ){
     echo("SAME");
  }
  else{
    echo("DIFFERENT");
  }