Php 未捕获异常';ImagickException';带有消息';比较图像失败';

Php 未捕获异常';ImagickException';带有消息';比较图像失败';,php,imagemagick,imagick,Php,Imagemagick,Imagick,这是我第一次使用ImageMagick,我正在做一个小测试,看看它是否真的符合我的要求;但是,我收到错误“比较图像失败”。很可能我做错了什么,因为我真的不知道Imagick是如何工作的。我对其他建议持开放态度,我只想比较两张几乎没有变化的图片。 我的测试代码如下所示: <?php $image1 = new Imagick(); $image2 = new Imagick(); $image1->readImage("export/image1.jpg"); $image2->

这是我第一次使用ImageMagick,我正在做一个小测试,看看它是否真的符合我的要求;但是,我收到错误“比较图像失败”。很可能我做错了什么,因为我真的不知道Imagick是如何工作的。我对其他建议持开放态度,我只想比较两张几乎没有变化的图片。 我的测试代码如下所示:

<?php
$image1 = new Imagick();
$image2 = new Imagick();
$image1->readImage("export/image1.jpg");
$image2->readImage("export/image2.jpg");
$result = $image1->compareImages($image2, 1);
$result[0]->setimageFormat("jpg");
echo $result[1] . '\n';
?>

对于有同样问题的未来用户,我让它发挥作用。如果尝试比较两个不同尺寸的图像,则会出现此错误。为了解决这个问题,我所做的就是重新调整两幅图像的大小,使它们具有相同的尺寸。在我的例子中,看起来像这样:

root@review1:/var/www/html# php export/image.php
PHP Fatal error:  Uncaught exception 'ImagickException' with message 'Compare images failed' in /var/www/html/export/image.php:6
Stack trace:
#0 /var/www/html/export/image.php(6): Imagick->compareimages(Object(Imagick), 1)
#1 {main}
  thrown in /var/www/html/export/image.php on line 6
$image1->resizeImage(400,400,Imagick::FILTER_LANCZOS, 1);
$image2->resizeImage(400,400,Imagick::FILTER_LANCZOS, 1);