ImageMagick比较可执行文件:无法识别的选项`-metric'@ error / convert.c / ConvertImageCommand / 2060

时间:2014-10-27 13:25:05

标签: imagemagick imagemagick-convert

我尝试使用apt-get install imagemagick命令在我的Debian Wheezy上安装ImageMagick。但是当我尝试区分图像时,我得到以下错误:

root@work:/home/tests/YAML_SHOTS/en-us# convert 1.png 2.png -metric RMSE -compare 3.png
convert.im6: unrecognized option `-metric' @ error/convert.c/ConvertImageCommand/2060.

其次,我尝试从二进制源安装ImageMagick(此处描述:http://www.imagemagick.org/script/install-source.php#unix)。但它不会安装convert可执行命令。

我该如何解决?

P.S。如果我删除了-metric选项,我又会收到一个错误:

convert.im6: unrecognized option `-compare' @ error/convert.c/ConvertImageCommand/1107.

2 个答案:

答案 0 :(得分:1)

直接使用compare实用程序。

compare 1.png 2.png -metric RMSE 3.png

但是如果你想在不将指标发送到STDERR的情况下生成图像差异,请在图像堆栈之前定义-metric-compare

convert -metric RMSE -compare 1.png 2.png 3.png

答案 1 :(得分:1)

假设您的ImageMagick版本是一个相当新的版本,请尝试以下命令:

 compare -metric phash 1.png 2.png delta.png

   7.61662

7.61662的返回pHash值表示,比较图像确实存在一些差异,delta.png将显示一些红色突出显示的像素。

红色像素表示两个比较图像中的各个像素的颜色值存在差异。白色像素表示相同的颜色值。 delta.png的灰色浅色背景源自第一个图像,以帮助更好地识别更复杂图像中的差异。如果您不想要后台,请运行此修改后的命令:

 compare -metric phash 1.png 2.png -compose src delta.png

<code>1.png</code> (left), <code>2.png</code> (center) and <code>delta.png</code> (right)

上图描绘了1.png(左),2.png(中)和delta.png(右)。

将此与

进行比较
 compare -metric phash 1.png 1.png delta2.png

   0

此处没有区别,pHash值为0delta2.png不显示任何红色像素:

<code>1.png</code> (left), <code>1.png</code> (center) and <code>delta2.png</code> (right)

上图描绘了1.png(左),1.png(中)和delta2.png(右)。


默认情况下,compare命令将以72 PPI运行。如果您需要更高的分辨率(例如,比较PDF页面时),请添加-density 300作为获得300 PPI的第一个参数。