PHP图像比较
img_1由PHP创建,img_2保存在服务器上。我试着把它们和图片进行比较,看看它们是否不同,我试过了,但没用PHP图像比较,php,image-processing,image-comparison,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"; } 下一个示例可以工作,但当我调用imag
$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\u-get\u-contents($script\u-img)==file\u-get\u-contents(“URL\u-TO\u-img”)
,但不起作用
$script_img = imagecreatetruecolor(2390, 2400);
$web_img = imagecreatefrompng("URL_TO_IMG");
if ($script_img==$web_img ) {
echo "SAME";
}
else{
echo "DIFFERENT";
}
使用md5(文件获取内容(ImageCreateTureColor(23902400))==md5(文件获取内容(imagecreatefrompng(“URL\u TO\u IMG”))
有效,但我怀疑这是比较两幅图像的最佳/正确方法
在PHP中比较图像的最佳/正确方法是什么?为什么不尝试比较两个图像的MD5哈希值呢
$md5LocalImg = md5(file_get_contents($script_img));
$md5WebImg = md5(file_get_contents($web_img));
if ( $md5LocalImg == $md5WebImg ){
echo("SAME");
}
else{
echo("DIFFERENT");
}
为什么不试着比较两个图像的MD5散列呢
$md5LocalImg = md5(file_get_contents($script_img));
$md5WebImg = md5(file_get_contents($web_img));
if ( $md5LocalImg == $md5WebImg ){
echo("SAME");
}
else{
echo("DIFFERENT");
}
我已经给出了这个答案,但我感兴趣的是,比较图像的正确方法是什么?首先,你需要非常明确地定义你认为两个图像“相等”的含义。这是一个非常普遍讨论的问题,你的问题包括你的研究。将img_1复制粘贴并重命名为img_2。现在我们有两个相等的图像。所以你只对一个字节对一个字节相等的图像文件感兴趣?我已经给出了答案,但我感兴趣的是比较图像的正确方法是什么。首先,你需要非常明确地定义你认为两个图像“相等”的条件。这是一个非常普遍讨论的问题,你的问题包括你的研究。将img_1复制粘贴并重命名为img_2。现在我们有两个相等的图像。所以你只对一个字节对一个字节相等的图像文件感兴趣?然后对文件进行散列就可以了。这是可行的,但我怀疑这是比较图像的正确方法。这取决于您的要求。如果要继续处理这些图像,可以使用一些图像处理库。否则MD5哈希就可以了。这是可行的,但我怀疑这是比较图像的正确方法。这取决于您的要求。如果要继续处理这些图像,可以使用一些图像处理库。否则,MD5哈希将完成此任务。