【发布时间】:2013-04-22 15:05:48
【问题描述】:
在 shell 脚本中,我想检查两个 PNG 图像是否不同,即图像具有不同的大小,或者一个图像的至少一个像素与另一张图像的相应像素具有不同的 RGBA。
散列两个图像文件将不起作用,因为图像可能被不同地压缩或具有不同的注释,或者可能两个像素是完全透明的但 RGB 分量不同,等等。
我知道如何使用 ImageMagick 的 convert 实用程序检查文件大小是否不同。至于比较像素值,我想到了使用 ImageMagick 的 compare 实用程序,但如果命令成功处理,则退出代码始终为 0:http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=22451
什么命令行测试可以用来比较两个PNG图像的像素是否相等?或者毕竟有办法使用compare?
【问题讨论】:
-
2 个基本步骤: 1. 识别图像格式(gif、png、jpeg、...)。这可以通过文件扩展名来完成,如果图像文件是“可信的”或以某种其他方式。 2.查找图像属性,即特定的图像格式信息,存储到处理后的文件中。您可以从Wotsit.org 找到有关文件和通用数据格式的信息。
标签: image bash shell imagemagick diff