Unsharp Mask на PHP

21 июня 2008

Давно меня волновала одна проблема: на автобегиннере редакторы добавляют фотографии к статьям и новостям. Из добавленной картинки формируются две уменьшенные (preview и thumbnail). Так вот, после уменьшения сильно страдает резкость картинки. Надо это исправить.

Как работает UnsharpMask? Резкость увеличивается за счет изменения яркости отдельных пикселей.

На входе фильтра три параметра: Amount, Radius и Threshold. Amount показывает на сколько нужно увеличить яркость пикселя, Radius определяем размер границы, которая делается четче,
Threshold - “порог” применения фильтра.

Все довольно просто: Копируем исходное изображение, размываем изображение (применяем к нему blur). Накладываем одно на другое и считаем разницу.

Если разница яркостей исходного и размытого изображения больше, чем значение Threshold, увеличиваем на Amount процентов яркость этого пикселя. Radius определяет сколько соседних пикселей сравнивается.

Код можно взять отсюда: http://vikjavev.no/computing/ump.php

Популярность: 4%

Понравилась заметка? Подписывайся на обновления блога!

Добавить в закладки:google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru
Категории: Интернет Теги:
Смотрите также:

Комментарии
30 июня 2008

А скрипт не сильно грузит хостинг, на сервак не выгонят за такое ?

пишет mmort
30 июня 2008

Нагрузка очень сильно зависит от размера изображения, т.к. обрабатывается каждый пиксель.

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

пишет Knave

RSS-лента комментариев к этой записи. TrackBack URI

Оставить комментарий

(обязательно)

(обязательно)


Спамер, осторожно! — спамить бесполезно!