Обработка. Подготовка для сайта «четких» фотографических изображений. Утилита для обработки по алгоритму «Least-Squares Image Resizing Using Finite Differences»

от автора

Для перфекционистов фотографии.
Обычно большая фотография позволяет видеть больше деталей.

Но в этом примере — наоборот: меньшая фотография кажется более четкой?

Не подтасовывал результат: для уменьшения большей из этих двух фотографий был использовано метод Bicubic Shaper — тот, что рекомендуется в Фотошопе именно для уменьшения изображений.

Значит, при подготовке меньшего размера фотографии был использован много более эффективный алгоритм?

Фотографии, публикуемые на веб-сайтах обычно подвергают 2 изменениям: уменьшению разрешения и увеличения четкости (известно под термином «шарп» или «шарпенинг» — это калька с английского sharp).

Уменьшение разрешения нужно чтобы фотографию можно было посмотреть сразу целиком. А шарп нужен для создания иллюзии четкости. Без шарпа уменьшенное изображение воспринимается недостаточно резким, мыльным.

Существует множество методов, которые работают лучше или хуже в зависимости от конкретного изображения. Разумеется, очень часто комбинируют уменьшение размера и увеличение четкости (шарп) в одном алгоритме.

Недавно набрел на очень эффективный метод, описанный в документе A. Muñoz Barrutia, T. Blu, M. Unser, «Least-Squares Image Resizing Using Finite Differences,» IEEE Transactions on Image Processing, vol. 10, no. 9, pp. 1365-1378, September 2001. bigwww.epfl.ch/publications/munoz0101.html (слева ссылка Download\PDF)

Метод очень понравился высокой четкостью получаемого результата (высокой детализацией на результате), но без искажений, которые получились бы в результате простого шарпа, и без танцев с бубнами для различного вида изображений.

Обнаружил единственную реализацию этого метода на Java в качестве плугина для программы ImageJ.
bigwww.epfl.ch/algorithms/ijplugins/resize/

Как установить:

1. Ставим Java java.com/ru/download/index.jsp
2. Ставим ImageJ rsb.info.nih.gov/ij/
3. Скачиваем со страницы bigwww.epfl.ch/algorithms/ijplugins/resize/ файл bigwww.epfl.ch/algorithms/ijplugins/resize/Resize_.jar и не распаковывая его помещаем в подкаталог plugins программы ImageJ
4. Изменять размер и шарпить можно в ImageJ через меню «Plugins\Resize\Resize», выбрав в появившемся диалоговом окне метод «Least-Squares».

Замечание: Можно применять только с 8-битными изображениями. На 16-битных не все хорошо. Но поскольку цель — подготовка для веба, то этого более, чем достаточно.

Наш умелец написал программу для более простого использования данного плугина под Windows. Называется эта программа «ImageJ Resize Launcher» (но и сам плугин и ImageJ и Java должны быть установлены). На момент написания этого текста последний релиз программы имеет версию 2.2 и имеется пререлиз 3. Официального сайта программа не имеет, но легко находится через поисковики по названию.

Для иллюстрации статьи использована «бесплатная фотография недели» отсюда www.shutterstock.com/gallery-449524p1.html

Внимание!!! Вопрос к аудитории!!!

Есть ли другие реализация этого метода кроме плугина к ImageJ?
Где еще можно прочитать про этот алгоритм???

ссылка на оригинал статьи http://habrahabr.ru/post/164473/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *