Unsharp Mask на PHP

Интернет — 21 июня, 2008 21:42 — Комментариев: 2

Теги:


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

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

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

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

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

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




Комментариев: 2

Вы можете следить за комментариями через RSS-ленту. Вы можете оставить комментарий, или trackback с вашего сайта.

  1. mmort
    30 Июн 2008 в 12:39 — Ответить

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

    1. Knave
      30 Июн 2008 в 13:19 — Ответить

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

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


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


   
Add to Technorati Favorites
Читать в Яндекс.Ленте
Получать RSS-ленту на почту

Топ комментаторов

Интернет - августа 12, 2008 13:44 - Комментариев: 8

Про MySQL

Еще в рубрике Интернет


Рукоприкладство - июля 11, 2008 20:59 - Нет комментариев

Сдали: VEGA

Еще в рубрике Рукоприкладство


МайЛайф - августа 2, 2008 21:49 - Нет комментариев

День рождения ПБК

Еще в рубрике МайЛайф