Всем привет!
Встала задача автоматически "улучшать" изображения, а именно увеличивать насыщенность.
Взял фотошоп и начал экспериментировать.
Исходное изображение
Есть в фотошопе 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 экспериментировать, но подбирать вручную - это неделю можно сидеть..
Очень надеюсь на вашу помощь!