我正在为某些渲染软件制作回归测试套件。我需要能够加载图像文件(最好是 PNG 或 TGA)并将像素值与标准批准图像进行比较。
我也希望它是命令行驱动的,这样我就可以创建一个批处理文件来运行所有测试。
到目前为止我发现的所有比较实用程序要么显示差异(如果它们不同,我只需要它失败)要么比较所有字节,这意味着元数据将触发失败。
有人有什么建议吗?我不是程序员,只能勉强拼凑一个批处理脚本。
谢谢您的任何建议。
答案1
经过一番研究,我发现 TGA 文件没有元数据,所以我可以使用简单的 fc 来比较它们。但是,如果存在大量差异,fc 会非常慢,所以我进行了一些搜索,找到了 FCMP(http://www.gammadyne.com/cmdline.htm#fcmp) 完全满足我的需要,而且是免费的。
我还可以使用另一个命令行程序将其他格式更改为 TGA,这样也能很好地运行。
感谢其他试图提供帮助的人!
答案2
取决于您使用的平台。如果您使用的是 Mac,iPhoto 和 Duplicate Annihilator 可以查找重复的照片。
如果您想确保图片相同,可以尝试该diff
命令。
diff picture1.png picture2.png
但它不会告诉你它们的区别。
没有输出意味着它们是相同的,但如果输出是
Binary files photo.png and photo2.png differ
需要更多信息。这样的话,请让我了解更多有关环境的信息,这样我就可以编写脚本了。
请记住,如果图片实际上是相同的,但尺寸即使只改变了一个像素,它也会告诉您它们不是同一张图片。
答案3
我保留了几个重复检测程序,但有一段时间没有使用它们了。
重复检测器http://www.prismaticsoftware.com/
图片克隆、百分比匹配、2 个参数可微调。算法类型有很多选项。用于在一个或两个文件池中查找重复图片。3 部分过程需要一些额外的思考,但可以提供很好的列表以供交叉引用。重复记录、自动移动和其他我不使用的功能可能对您更有用?
“克隆间谍”http://www.clonespy.com/
数据克隆, 100% 匹配,名称匹配,比较池,适合查找名称不同的重复,但当文件具有不同的标题时并不是很有用。