未捕获异常 'ImagickException',消息 'Compare images failed'
uncaught exception 'ImagickException' with message 'Compare images failed'
这是我第一次使用 ImageMagick,我正在做一个小测试,看看它是否真的能满足我的要求;但是,我收到错误 'compare images failed'。很可能我做错了什么,因为我真的不知道 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);
这是我第一次使用 ImageMagick,我正在做一个小测试,看看它是否真的能满足我的要求;但是,我收到错误 'compare images failed'。很可能我做错了什么,因为我真的不知道 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);