java - 在 Java jUnit 中比较 2 个图像的最佳方法?

标签 java image imagemagick compare im4java

我正在编写一个 junit 测试用例来验证裁剪和调整大小类。该类非常简单,它只是通过 Im4Java 将调用委托(delegate)给 ImageMagick。但为了正确地做事,我正在尝试编写一个 jUnit 测试用例。

我使用 Photoshop 手动创建了预期结果图像,并尝试将它们与我的裁剪/调整大小类生成的图像进行比较。问题是 ImageMagick 编写的 header 和 Photoshop 编写的 header 不同。所以简单的逐字节比较是行不通的。

ImageMagick 提供了一个比较函数,当从命令行运行时,该函数显示预期结果与我的类生成的结果之间没有像素差异。但 Im4Java 没有为此比较函数提供任何包装方法。

除了必须自己调用 Runtime.exec() 之外,有没有办法可以在我的测试用例中比较这两个图像?

最佳答案

看起来 Im4Java 有一个 CompareCmd可以解决这个问题的类。

关于java - 在 Java jUnit 中比较 2 个图像的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18669724/

相关文章:

java - 如何获取方法作为返回值?

java - 当 Java 小程序加载失败时我可以捕获事件吗?

java - 如何根据spring-security用户权限生成内容

javascript - 查看图片的一部分,并允许用JavaScript查看图片的其他部分

Java - 将图像转换为黑白图像 - 失败并显示明亮的颜色

bash - Imagemagick recognize -verbose 报告的文件大小与 ls -l 截然不同

imagemagick - 检查 ImageMagick 版本 >= 6.4.9... 否 无法安装 RMagick 2.13.4。您必须有 ImageMagick 6.4.9 或更高版本

java - 创建通用 Serverlet3 登录的逻辑

html - mxGraph 导出图像损失 css

python - 提高魔杖转换的质量