Итак, исходя их названия статьи, речь пойдет о повышении резкости или четкости изображения, которое авторы грузят на сайт mypleer.com
Интернет предлагает нам два основных решения: использование родной функции php imageconvolution() и алгоритм Torstein Hønsi UnsharpMask().
С внутренним строением этих двух вариантов обработки изображения вы можете ознакомиться самостоятельно в интернете набрав «imageconvolution php» или «unsharpmask php».
Я же хочу показать наглядные примеры того, что получается при использовании того или иного подхода обработки изображения. Для верности опыта возьмем изображения с разными характеристиками: 1. цветное однотонное , 2. цветное в хорошем качеством, 3. цветное в плохом качестве и 4. черно-белое (порядок соблюден).
Ниже эти изображения загруженные в следующем порядке:
- Изображения без обработки
- Обработка с помощью imageconvolution()
$matrix = array(array(-1,-1,-1), array(-1,16,-1), array(-1,-1,-1));
imageconvolution($image, $matrix, 8, 0);
- Обработка с помощью UnsharpMask()
UnsharpMask($img, 80, 0.5, 3)
И так смотрим и сравниваем что же у нас получилось!
1.
2.
3.
4.
23.11.2012 Дополнение
После нескольких недель использования фильтра UnsharpMask есть неприятные впечатления. Хотя фильтр делает свою работу весьма хорошо и гибок в настройках, от него пришлось отказать в пользу стандартных средств php. Причины этого таковы: Высокая вычислительная нагрузка при обработке фотографии, что при массовой загрузке (10 изображений) может занять процессор до 50% на несколько минут, что не приятно с точки зрения работы, приходится долго ждать загрузки и вдвойне неприятно в финансовом плане, так как за вычислительные мощности надо платить провайдеру облачного сервера.
Сейчас используем imageconvolution, с ним проблем нет!