Можно ли идеально (по кривым) воспроизвести цветовой тон (любых фотографий)?

Можно ли идеально имитировать цветовой тон? (скорее всего, с использованием кривых.)

Например, я хочу, чтобы мои фотографии, сделанные моей цифровой камерой, имели цветовой тон пленочных фотографий (скажем, Velvia).

Или, например, я хочу, чтобы мои фотографии, сделанные моей цифровой зеркальной фотокамерой Nikon, имели цветовой тон моих изображений Fujifilm. (Nikon Picture Control позволяет нам устанавливать кривые на ПК и импортировать их в камеру.)

Я знаю, что некоторые фотографы с очень хорошими навыками редактирования фотографий могут воспроизводить цветовые тона на 99% одинаково. Но они все равно не на 100% похожи. А постредактирование по одному неэффективно по времени.


Для этого у меня есть идея. Я не знаю, работает это или нет.

  1. Распечатайте цветную доску. Простой способ цветной доски будет содержать 3 столбца и 16 строк. Каждый столбец будет красным, зеленым и синим. Каждая строка будет иметь градиент цветов от 0 до 255. (Полный вариант цветной доски будет содержать 256 x 256 x 256 цветов.)

  2. Затем я использую свою камеру Fujifilm, чтобы сфотографировать цветную доску.

  3. В-третьих, иметь мою цифровую зеркальную камеру Nikon с теми же настройками, что и мой Fujifilm, и сделать снимок «стандартного» цветового тона той же цветной доски в той же среде.

  4. Теперь нам нужна кривая, которая преобразует «стандартную» фотографию Nikon в цветовой тон Fujifilm.

  5. Чтобы получить эту кривую, мы сначала проанализируем цветовую доску Fujifilm с помощью инструмента «Пипетка».

  6. В идеале, возьмем красный столбец в качестве примера, «Стандартное» изображение приведет к значениям (0 0 0), (16 0 0), (32 0 0) ... (240 0 0).

  7. Но в реальном мире нет ничего идеального. Нет проблем. Сейчас мы анализируем цветовой тон цветной доски Fujifilm. Допустим, у Fujifilm более темный стиль: (0 0 0), (15 0 0), (29 0 0)… (230 0 0).

  8. Теперь мы анализируем «Стандартное» изображение Nikon. Допустим, изображение Nikon немного ярче: (1 0 0), (16 0 0), (33 0 0)… (241 0 0).

  9. А вот и кривая в Nikon Picture Control (работает также для кривой постредактирования в Photoshop). Если мы установим вход 1 красной кривой на выход 0, 16 -> 15, 33 -> 29, ..., 241 -> 230 (и так далее для зеленой и синей кривых), я думаю, для этой цветной платы изображение, мы можем точно получить цветовой тон Fujifilm.

Как вы думаете, может ли эта «кривая настройки» теоретически преобразовать каждое «стандартное» изображение Nikon в изображение Fujifilm?

Просмотрите таблицы поиска цветов. Это похоже на то, что вы описываете.
Я предполагаю, что «кривая» делает своего рода таблицу поиска цветов. Но может ли мой предложенный метод имитировать любую фотографию? (я сомневаюсь.) Другими словами, возможно ли, что только одна кривая может имитировать все фотографии? Спасибо за комментарий.
Я думаю, вы могли бы использовать кривую, чтобы имитировать тона пленки, используемой в определенных контекстах (это, вероятно, будет не особенно простой процесс), хотя это будет лишь небольшая часть попытки получить изображение Fujifilm с помощью Nikon. Динамический диапазон, зернистость, резкость, детализация и т. д. в пленке сильно отличаются от цифровых, поэтому даже если вам удастся сделать тона похожими, изображения все равно будут сильно отличаться, и почти гарантированно их невозможно будет совместить.
Еще одна вещь, о которой я только что подумал, которая, вероятно, сделает это слишком сложным с одним набором кривых, заключается в том, что способ взаимодействия света с пленкой определяется не только RGB, но и всеми частотами спектра EM. Таким образом, то, как желтые световые волны взаимодействуют с пленкой, может быть невозможно представить на графике, который также должен учитывать способ взаимодействия красных и зеленых световых волн с пленкой И их объединение для получения желтого цвета. Если это имеет смысл.
Не говоря уже о том, что одна партия одного и того же фильма будет иметь незначительные различия. Пленка, хранившаяся в течение длительного времени при умеренных или теплых температурах, покажет еще большее отличие от свежей пленки, недавно изготовленной и хранившейся при низких температурах. Управление цветом — не новинка, появившаяся на заре цифровой фотографии. Она существует столько же, сколько и фотография. (Даже разные черно-белые эмульсии могут отображать один и тот же цвет с разными оттенками серого.)

Ответы (1)

Ну, скажем, камера A — это Velvia, а камера B — это ваш Nikon.

  • Камера A преобразует физические цвета в виртуальные цвета («пиксели») с помощью функции funcA.
  • Камера B преобразует физические цвета в виртуальные цвета (пиксели) с помощью функции funcB.
  • Установите профиль ICC (ICCA), который преобразует цвет пикселя в цвет среды просмотра.
  • Установите профиль ICC (ICCB), который преобразует цвет пикселя в цвет среды просмотра.

Когда вы фотографируете, например, физический красный цвет, в вашей среде просмотра вы увидите один и тот же красный цвет, независимо от того, используете ли вы камеру A или B.

Красный -> funcA -> ICCA -> цвет монитора (красный) и

Красный -> funcB -> ICCB -> цвет монитора (красный).

Итак, вы можете сказать, что:

любой физический цвет C -> funcB -> ICCB -> инвертировать ICCA == funcA (физический цвет C).

И это круто, потому что funcA (любой физический цвет) — это точно цветовой вывод камеры A.

Другими словами, чем заняться:

  • генерировать инверсию ICCA
  • применять инверсию ICCA к цветам пикселей в среде просмотра.

Инверсия ICCA будет состоять из трех кривых: R, G и B. Вы должны сделать инверсию как можно более высокого разрешения, чтобы избежать полос.

Что я подразумеваю под «обратным»? Это означает, что если вы примените ICCA, а затем инвертируете ICCA, вы получите то же исходное изображение.

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

ПРИМЕЧАНИЕ: быстрый поиск показывает эту страницу с ключевыми словами: «инвертирование профилей ICC; ограничения точности инверсии». Таким образом, после инвертирования профиля вы можете получить ограниченную точность и, возможно, вам придется вручную настраивать инвертированную кривую.

Кроме того, не забывайте, что темные области имеют гораздо меньшую информативность, чем светлые, и вы увидите там больше несоответствий из-за шума квантования.

Большое спасибо за ответ! Я понимаю Red -> funcB -> ICCB -> инвертировать ICCA == funcA(Red). Это умное решение. Но я новичок в профиле ICC. Я прочитал Создание профилей ICC для устройств , Введение в профили ICC и вики . Однако профиль ICC, похоже, имеет дело с дисплеями мониторов и принтерами. Нужно ли мне устройство калибровки цвета монитора, чтобы получить «красный цвет монитора»? Или «красный цвет монитора» означает просто #FF0000? Пожалуйста, дайте мне несколько советов.