Лучший способ сравнить 2 изображения в Java jUnit?
Я пишу тестовый пример junit для проверки класса обрезки и изменения размера. Класс довольно прост, он просто делегирует вызовы ImageMagick через Im4Java. Но чтобы сделать все правильно, я пытаюсь написать тестовый пример jUnit.
Я вручную создал ожидаемые изображения с помощью Photoshop и пытаюсь сравнить их с изображениями, полученными в моем классе кадрирования / изменения размера. Проблема в том, что заголовки, которые пишут ImageMagick и Photoshop, различаются. Так что простое побайтовое сравнение не будет работать.
ImageMagick предлагает функцию сравнения, которая при запуске из командной строки не показывает разницы в пикселях между ожидаемым результатом и результатом, полученным моим классом. Но Im4Java не предоставляет никаких методов-оболочек для этой функции сравнения.
Если не считать необходимости вызывать Runtime.exec(), есть ли способ сравнить эти два изображения в моем тестовом примере?
1 ответ
Похоже, что Im4Java имеет класс CompareCmd, который сделает свое дело.