March 17th, 2021

old rover

Плёнка №184

Плёнка: Fomapan profi line action 400
Камера и объектив: Zenit-B + Helios 44-M 2/58
Проявитель: Fomadon LQR (тот самый, про который я некоторое время тому назад писал. Контрастный, быстроработающий. Полагаю, содержит, помимо гидрохинона, ещё и метол, поэтому едкий и сравнительно опасный. В обычный фенидон-гидрохиноновый проявитель я, грубо говоря, пальцы могу совать - то есть не беспокоюсь о попадании его на кожу - а с этим поостерёгся и работал в перчатках и на балконе, ради чего даже пришлось завал на тамошней тумбочке разобрать)
Сканирование: мой обычный китайский сканерочек








Collapse )
old rover

Баловство с картинками

Долгие годы разглядывая разные фотографии в разных местах, я пришёл к выводу, что выигрышно смотрятся такие фотки, у которых есть два, скажем так, базовых цвета. Вон посмотрите на постеры голливудских космических боевиков. Они все оранжево-синие! Ну и ещё там один фотограф из местного фотоклуба свои фотографии всегда обрабатывал тоже так, сине-оранжево. Я обратил на это внимание как-то раз, а потом продолжал замечать. Наверняка это какой-то специальный пресетик для лайтрума у него :)

Так вот, два базовых цвета. Синий и оранжевый, или, допустим, коричневый и зелёный. А все остальные цвета приглушаются и приближаются к этим двум цветам.

У меня уже давным-давно лежит самодельная программка для работы с цветами изображения. Она умеет делать то, что ни один микшер каналов делать не умеет — например, может менять значение цвета одного канала при условии, что оно больше значения цвета другого канала, и причём делать его зависимым от этого другого канала.







Разумеется, я сразу бросился эту свою программку переделывать. Каждая точка изображения имеет координаты (R, G, B) в цветовом пространстве (RGB — Red, Green, Blue). Логично было предположить, что «базовые» цвета имеют свои координаты (R₁, G₁, B₁) и (R₂, G₂, B₂), и можно любую другую точку покомпонентно притянуть к этим координатам — к какой ближе. Некоторое время я с этим возился, но ничего у меня не получилось, и я надолго забил. С какой силой будет «притягиваться» цвет к базовому? А что делать, если это вообще чёрный цвет или белый?

Ещё моя программка умела конвертировать RGB в CMY (Cyan, Magenta, Yellow) и обратно для того, чтоб можно было оперировать с отдельными каналами в другом цветовом пространстве. Она это делала, вероятно, довольно странным способом, вычисляя значения для каждой компоненты по теореме Пифагора:
C = sqrt(G² + B²)
M = sqrt(B² + R²)
Y = sqrt(R² + G²)

Ну и обратно, соответственно,
R = sqrt(Y² + M² - C²) / 1.42
G = sqrt(Y² + C² - M²) / 1.42
B = sqrt(C² + M² - Y²) / 1.42


И совсем недавно мне вдруг пришла в голову идея. Если каждый цвет представлен точкой в трёхмерном пространстве координат (или, если хотите, вектором, начало которого лежит в (0, 0, 0) — в чёрном цвете), то можно перейти к другому базису, получить совершенно иные координаты, и оперировать покомпонентно уже с ними. Матрица перехода в CMY, при небольшом размышлении, оказалась вообще простой (может быть, не такой точной, как переход по теореме Пифагора, но без нормализации для вычислений должно хватать):
[ 0, 1, 1 ]
[ 1, 0, 1 ]
[ 1, 1, 0 ]

Collapse )