Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Как повторить результат фильтра Vibrance/Saturation из Photoshop в ImageMagick?  (Прочитано 1285 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн AlOshka

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Всем привет!

Встала задача автоматически "улучшать" изображения, а именно увеличивать насыщенность.
Взял фотошоп и начал экспериментировать.
Исходное изображение


Есть в фотошопе 2 фильтра для увеличения насыщенности изображения:
Hue/Saturation и Vibrance.

Вот результат работы первого фильтра:

(вместе с настройками)

Вот второго:

(вместе с настройками)

Невооружённым взглядом видно, что разница есть и довольно значительная (просто посравнивайте оба варианта в соседних вкладках). Во втором случае цвета насыщеннее, более мягкие, меньше артефактов и "кислотности". Лазурное небо, голубое море, зелёная травка, нежно-жёлтый песочек.. Словно в рай попал!
На более крупных значениях в первом варианте кислотности становится только больше, цвета искажаются. А вот во-втором - даже при значении 100 артефактов практически нет.
Хотя казалось бы - одинаковое название, одинаковый диапазон значений - но всё же результат разный.

И запал мне в душу этот Saturation из фильтра Vibrance. Да на столько, что обычный hs(+40)l теперь видеть не могу.

Взял я ImageMagick и попытался повторить результат.
И сколько бы я не бился, сколько бы не гуглил - ничего подобного даже близко не получилось.

И так пробовал:
convert tmp.jpg -colorspace HSL \
  -channel B -evaluate multiply 1 \
  -channel G -evaluate multiply 1.40 \
  +channel -colorspace sRGB result.jpg

и сяк:
convert tmp.jpg -set option:modulate:colorspace hsl -modulate 100,140 result.jpg
и даже эдак:
convert i.jpg -sigmoidal-contrast 1x10% -alpha off i_contrast.jpg

convert -set option:modulate:colorspace HSB \( i_contrast.jpg -modulate 100,140,100 \) \
 \( -clone 0 \( -clone 0 -modulate 100,100,100 \) -compose difference -composite -auto-level -negate \) \
 -compose CopyOpacity -composite i_saturation_mask.jpg

composite i_saturation_mask.jpg i_contrast.jpg result.jpg

А результат был классическим - обычное увеличение насыщенности с сопутствующими артефактами, грубыми и "кислотными" цветами.

Наиболее близким оказался вот такой вариант:
convert tmp.jpg -color-matrix "1.329212 -0.32496 -0.004252 -0.070788 1.07504 -0.004252 -0.070788 -0.32496 1.395748" result.jpg
И вот вроде всё хорошо, но "лазурности" неба и воды повторить не получилось. А это для меня самое главное.

Как же быть? Неужели даже всемогущий ImageMagick не способен повторить такое чудо? Ведь чувствую же, что способен, только вот нащупать никак не могу..

Господа и дамы, кто сталкивался? Кто знает? Кто подскажет? Очень уж хочется такого эффекта. Именно из-за "лазурности", ибо она как влитая ложится на тематику фотографий.
Кажется мне, что надо с color-matrix экспериментировать, но подбирать вручную - это неделю можно сидеть..

Очень надеюсь на вашу помощь!
« Последнее редактирование: 18 Декабря 2014, 05:11:31 от AlOshka »

Оффлайн start733

  • Участник
  • *
  • Сообщений: 248
    • Просмотр профиля
В Gimp есть National Geographic Script.
Rainy Landscape Script. Примеры:

https://sites.google.com/site/elsamuko/gimp
https://sites.google.com/site/elsamuko/gimp/rain

Поиграй настройками. Там несколько ползунков. Загрузить можно тут:

https://github.com/elsamuko/gimp-elsamuko/archive/master.zip
« Последнее редактирование: 19 Декабря 2014, 23:00:16 от start733 »

Оффлайн www777

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 2765
    • Просмотр профиля
Исходное изображение лучше :) Если судить по данному примеру :)

Оффлайн AlOshka

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
В Gimp есть National Geographic Script.
Rainy Landscape Script. Примеры:

https://sites.google.com/site/elsamuko/gimp
https://sites.google.com/site/elsamuko/gimp/rain

Поиграй настройками. Там несколько ползунков. Загрузить можно тут:

https://github.com/elsamuko/gimp-elsamuko/archive/master.zip

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

Да к тому же, судя по примеру по ссылке, там результат не такой, какой нужен. Суть-то именно вот этом долбанном фотошоповском фильтре. А обычный Saturation можно в чём угодно подкрутить - хоть в браузере в canvas'е.

 

Страница сгенерирована за 0.018 секунд. Запросов: 21.