Java:单元测试图像处理

时间:2010-09-10 15:25:06

标签: java unit-testing image image-processing

我有一个处理图像的方法。该方法采用一个图像,对其执行一些操作并返回另一个图像:

public BufferedImage manipulateImage (Image image) {
    ...
}

我不确定是否有针对此类活动编写单元测试的最佳实践。应该首先检查图像的哪些特征?如何检查图像是否没有损坏?例如,一旦我在使用ImageIO读取GIF图像并保存回来时,GIF图像变为颜色反转时遇到问题。

1 个答案:

答案 0 :(得分:5)

获取原始图片(x),运行转换并保存操作图像(y),亲自检查y是否是您要测试的内容。您的测试是F(x) = y,如果x目录中同时包含ysrc/test/resources,则可以将y与测试结果进行比较。< / p>

如果你不需要测试100%的相等性,你可能也对http://pdiff.sourceforge.net/(C ++而不是Java)感兴趣。

修改:也会看到此问题 - Image comparison - fast algorithm