2010-09-10 3 views
7

У меня есть метод, который касается изображения. Метод принимает один образ, выполняет некоторые манипуляции над ней и возвращает другое изображение:Java: Утилизация изображений изображений

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

я не уверен, есть ли лучшие практики написания модульных тестов для такой деятельности. Какие характеристики изображения следует проверять на первом месте? Как проверить, не испорчено ли изображение? Например, когда я столкнулся с проблемой, когда изображения GIF стали инвертированными по цвету после прочтения их с помощью ImageIO и сохранения обратно.

ответ

5

Получить исходное изображение (x), запустить преобразование и сохранить манипулируют изображение (y), физически проверить себя, что y является то, что вы хотите проверить. Тогда ваш тест будет F(x) = y, если у вас есть x и y в вашем каталоге src/test/resources, вы можете сравнить y с результатами вашего теста.

Вы также можете быть заинтересованы в http://pdiff.sourceforge.net/ (C++ не Java), если вам не нужно тестировать 100% -ное равенство.

Edit: также увидеть этот вопрос - Image comparison - fast algorithm

+0

+1 - очень полезные ссылки –

Смежные вопросы