我尝试使用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.
答案 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
上图描绘了1.png
(左),2.png
(中)和delta.png
(右)。
将此与
进行比较 compare -metric phash 1.png 1.png delta2.png
0
此处没有区别,pHash值为0
,delta2.png
不显示任何红色像素:
上图描绘了1.png
(左),1.png
(中)和delta2.png
(右)。
默认情况下,compare
命令将以72 PPI运行。如果您需要更高的分辨率(例如,比较PDF页面时),请添加-density 300
作为获得300 PPI的第一个参数。