Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> фильтры для изображений 
:(
    Опции темы
нуп
Дата 13.9.2012, 09:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ботокодер
**


Профиль
Группа: Участник
Сообщений: 987
Регистрация: 22.6.2009
Где: Кременчуг

Репутация: нет
Всего: 33



Есть код, который добавляет эффекты изображению(черно-белый, сепия, и много других), но отрабатывает он секунд 5-6. Как можно уменьшить время работы скрипта?
Код

function toGreyScale($input_image) {
    $image = imagecreatefromjpeg($input_image);
    $x_dimension = imagesx($image);
    $y_dimension = imagesy($image);
    $new_image = imagecreatetruecolor($x_dimension, $y_dimension);

    for ($x = 0; $x < $x_dimension; $x++) {
        for ($y = 0; $y < $y_dimension; $y++) {
            $rgb = rgb(imagecolorat($image, $x, $y));

            $b = ($rgb[0] + $rgb[1] + $rgb[2]) / 3;
            $b = 255 * (($b / 255 - .5) * 1.3 + .5);
            $b = $b < 0 ? 0 : $b > 255 ? 255 : $b;
            $color = imagecolorallocate($image, $b, $b, $b);
            imagesetpixel($new_image, $x, $y, $color);
        }

    }
    return $new_image;
}
function rgb($rgb) {
    $r = ($rgb >> 16) & 255;
    $g = ($rgb >> 8) & 255;
    $b = $rgb & 255;
    return array($r, $g, $b);
}
$i = toGreyScale('111.jpg');
header('Content-type: image/jpeg');
imagejpeg($i);

PM MAIL   Вверх
skyboy
Дата 13.9.2012, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 3
Всего: 260



использовать imagemagik
PM MAIL   Вверх
нуп
Дата 14.9.2012, 00:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ботокодер
**


Профиль
Группа: Участник
Сообщений: 987
Регистрация: 22.6.2009
Где: Кременчуг

Репутация: нет
Всего: 33



А поточнее можно, какие именно функции есть для собственных эффектов?
PM MAIL   Вверх
skyboy
Дата 14.9.2012, 16:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 3
Всего: 260



так как сам использовал только resize, погуглил за тебя. уж не знаю, в чем была сложность.
есть применение выражения для работы на цветовыми составляющими
есть -convolve для задания матрицы
есть еще куча параметров. 

PM MAIL   Вверх
нуп
Дата 14.9.2012, 16:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ботокодер
**


Профиль
Группа: Участник
Сообщений: 987
Регистрация: 22.6.2009
Где: Кременчуг

Репутация: нет
Всего: 33



Я это видел, но не понимаю как все перенести. Спс за помощь, буду разбираться 
PM MAIL   Вверх
нуп
Дата 14.9.2012, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ботокодер
**


Профиль
Группа: Участник
Сообщений: 987
Регистрация: 22.6.2009
Где: Кременчуг

Репутация: нет
Всего: 33



Да уж. 2-й пример с сайта грузит проц на 75%, и висит секунд 20  smile 
Код

$ convert rose.jpg \
-fx "(1.0/(1.0+exp(10.0*(0.5-u)))-0.006693)*1.0092503" \
rose-sigmoidal.png


PM MAIL   Вверх
skyboy
Дата 14.9.2012, 18:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 3
Всего: 260



Цитата(нуп @  14.9.2012,  16:07 Найти цитируемый пост)
Да уж. 2-й пример с сайта грузит проц на 75%, и висит секунд 20

мда  smile 
однако, не уверен, что PHP вариант через попиксельную обработку функциями GD справился бы быстрее  smile 
в любом случае, если у тебя происходит обработка графики, и она занимает столько времени — подумай над архитектурой. менеджер очереди там, распараллеливание.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Графика | Следующая тема »


 




[ Время генерации скрипта: 0.1215 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.