Режимы наложения

редактировать

Режимы наложения (или режимы смешивания ) в цифровой и компьютерной графике используются для определения того, как два смешиваются друг с другом. Режим наложения по умолчанию в большинстве приложений заключается в том, чтобы просто скрыть нижний слой, закрыв его тем, что присутствует в верхнем слое (см. альфа-композитинг ). Однако, поскольку каждый пиксель имеет числовое представление, существует большое количество способов смешивания двух слоев.

Большинство программ редактирования графики, таких как Adobe Photoshop и GIMP, позволяют пользователю изменять основные режимы наложения, например применяя разные уровни непрозрачности к верхнему «слою». Верхний «уровень» не обязательно является слоем в приложении; его можно наносить с помощью инструмента рисования или редактирования. Верхний «слой» также может называться «смешанный слой» или «активный слой».

В формулах, показанных на этой странице, значения изменяются от 0,0 (черный) до 1,0 (белый).

Содержание
  • 1 Нормальный режим наложения
  • 2 Растворение
  • 3 Умножение и экран
    • 3.1 Умножение
    • 3.2 Экран
    • 3.3 Наложение
    • 3.4 Жесткий свет
    • 3.5 Мягкий свет
  • 4 Осветление и затемнение
  • 5 Простые арифметические режимы наложения
    • 5.1 Разделение
    • 5.2 Сложение
    • 5.3 Вычитание
    • 5.4 Разница
    • 5.5 Только затемнение
    • 5.6 Только осветление
  • 6 Логические арифметические режимы наложения
  • 7 Оттенок, насыщенность и яркость
  • 8 Отношение к маскированию
  • 9 Различия между наложением слоя и инструмента
  • 10 См. Также
  • 11 Ссылки
Нормальный режим наложения

Это стандартный режим наложения, в котором используется только верхний слой, без смешивания его цветов со слоем под ним:

f (a, b) = b {\ displaystyle f (a, b) = b}f (a, b) = b

, где a - значение цветового канала в нижележащем слое, а b - это значение соответствующего канала верхнего уровня. Результат обычно объединяется с нижним слоем с использованием "простого" (b над a) альфа-композитинга (фактическая формула f (a, b) = alpha (b, a) {\ displaystyle f (a, b) = alpha (b, a)}{\ displaystyle f ( a, b) = alpha (b, a)} ), но возможны и другие операции Портера-Даффа. Шаг компоновки приводит к тому, что форма верхнего слоя, определяемая его альфа-каналом, появляется поверх нижнего слоя.

Растворение

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

Adobe Photoshop при запуске генерирует шаблон псевдослучайного шумового дизеринга, при этом каждому местоположению пикселя в массиве 2D-растра назначается значение серого (R = G = B) и значение альфа, равное 1 («включено»). По мере уменьшения непрозрачности верхнего слоя значение альфа некоторых серых пикселей переключается с 1 на 0 («выключено»), в результате чего пиксели изображения, соответствующие пикселю с серым значением в растровом массиве, либо включен (видимый, непрозрачный) или выключен (невидимый, прозрачный), без градации непрозрачности.

Умножение и Экран

Режимы наложения Умножение и Экран являются основными режимами наложения для затемнения и осветления изображений соответственно. Есть несколько различных их комбинаций, таких как Overlay или Soft Light (упомянутые далее) и Vivid Light, Linear Light и Pin Light.

Умножение

Умножение наложения В режиме «Умножение» номера каналов RGB для каждого пикселя верхнего слоя умножаются на значения соответствующего пикселя нижнего слоя. В результате всегда получается более темное изображение; поскольку каждое значение меньше 1, их произведение будет меньше любого из начальных значений.

f (a, b) = a b {\ displaystyle f (a, b) = ab}f (a, b) = ab , где a - значение базового уровня, а b - значение верхнего уровня.

Этот режим является симметричным: замена двух слоев не меняет результата. Если два слоя содержат одно и то же изображение, режим наложения умножения эквивалентен квадратичной кривой или гамма-коррекции с γ = 2. Для редактирования изображений иногда удобнее просто перейти в диалоговое окно «Кривые» программного обеспечения, поскольку это дает большую гибкость в выборе формы кривых. Или можно использовать диалог уровней - среднее число обычно 1 / γ, поэтому можно просто ввести 0,5.

Если один слой содержит однородный цвет, например серый цвет (0,8, 0,8, 0,8), режим наложения «умножение» эквивалентен кривой, которая представляет собой просто прямую линию. Это также эквивалентно использованию этого значения серого в качестве непрозрачности при смешивании в «нормальном режиме» с нижним черным слоем.

Экран

В режиме наложения «Экран» значения пикселей в двух слоях инвертируются, умножаются, а затем снова инвертируются. Это дает обратный эффект умножения и дает более яркое изображение.

f (a, b) = 1 - (1 - a) (1 - b) {\ displaystyle f (a, b) = 1- (1-a) (1-b)}f (a, b) = 1- (1-a) (1-b) , где a - значение базового уровня, а b - значение верхнего уровня.

Этот режим является симметричным: замена двух слоев не меняет результата. Если один слой содержит однородный серый цвет, режим наложения «Экран» эквивалентен использованию этого значения серого в качестве непрозрачности при выполнении «нормального режима» наложения с белым верхним слоем.

Overlay

Overlay объединяет Multiply и Screen blend режимы. Части верхнего слоя, где базовый слой светлый, становятся светлее, части, где базовый слой темный, становятся темнее. Области, где верхний слой серого цвета, не затрагиваются. Наложение того же изображения выглядит как S-образная кривая.

f (a, b) = {2 a b, если a < 0.5 1 − 2 ( 1 − a) ( 1 − b), otherwise {\displaystyle f(a,b)={\begin{cases}2ab,{\t_dv{if }}a<0.5\\1-2(1-a)(1-b),{\t_dv{otherwise}}\end{cases}}}f (a, b) = {\ begin {cases} 2ab, {\ t_dv {if}} a <0,5 \\ 1- 2 (1-a) (1-b), {\ t_dv {иначе}} \ end {case}}

, где a - значение базового уровня, а b - значение верхнего уровня.

В зависимости от значения a базового слоя получается линейная интерполяция между черным (a = 0), верхним слоем (a = 0,5) и белым (a = 1).

Жесткий свет

Жесткий свет - это также комбинация умножения и экрана. Жесткий свет влияет на отношение слоя наложения к базовому слою точно так же, как наложение влияет на отношение базового слоя к слою наложения. Обратная связь между Overlay и Hard Light делает их «коммутируемыми режимами наложения».

Soft Light

Сравнение режимов наложения soft light

Мягкий свет наиболее тесно связан с Overlay и похож только на Hard Свет по имени. Применение чистого черного или белого не приводит к получению чистого черного или белого.

Существует множество различных методов наложения мягкого света. Все ароматы дают одинаковый результат, когда верхний слой чисто черный; То же самое, когда верхний слой имеет чистый нейтральный серый цвет. Ароматы Photoshop и illusions.hu также дают тот же результат, когда верхний слой является чисто белым (разница между этими двумя заключается в том, как один интерполирует между этими тремя результатами).

Эти три результата совпадают с гамма-коррекцией нижнего слоя с γ = 2 (для верхнего черного), без изменений нижнего слоя (или, что то же самое, γ = 1) (для верхний нейтральный серый) и γ = 0,5 (для верхнего белого).

Формула, используемая Photoshop с 2012 года, имеет неоднородность локального контраста, и другие формулы исправляют ее. Формула Photoshop:

f p h o t o s h o p (a, b) = {2 a b + a 2 (1-2 b), если b < 0.5 2 a ( 1 − b) + a ( 2 b − 1), otherwise {\displaystyle f_{photoshop}(a,b)={\begin{cases}2ab+a^{2}(1-2b),{\t_dv{if }}b<0.5\\2a(1-b)+{\sqrt {a}}(2b-1),{\t_dv{otherwise}}\end{cases}}}f _ {{photoshop}} (a, b) = {\ begin {cases} 2ab + a ^ {2} (1-2b), {\ t_dv {if} } b <0,5 \\ 2a (1-b) + {\ sqrt {a}} (2b-1), {\ t_dv {иначе}} \ end {cases}}

, где a - значение базового слоя, а b - значение верхнего слоя. В зависимости от b получается линейная интерполяция между тремя гамма-поправками : γ = 2 (для b = 0), γ = 1 (для b = 0,5) и γ = 0,5 (для b = 1)..

Формула Пегтопа более гладкая и исправляет разрыв при b = 0,5:

fpegtop (a, b) = (1-2 b) a 2 + 2 ba {\ displaystyle f_ {pegtop} (a, b) = (1-2b) a ^ {2} + 2ba}f _ {{pegtop}} (a, b) = (1-2b) a ^ {2} + 2ba .

Это линейная интерполяция между режимами наложения Multiply (для a = 0) и Screen (для a = 1). Это также можно рассматривать как линейную интерполяцию между гамма-коррекцией с γ = 2 (для b = 0) и определенной тональной кривой (для b = 1). (Последняя кривая эквивалентна применению γ = 2 к негативу изображения.)

Третья формула, определенная illusions.hu, исправляет неоднородность другим способом, выполняя гамма-коррекцию с помощью γ в зависимости от b:

заполнения. ху (a, b) = a (2 2 (0,5 - b)) {\ displaystyle f_ {illusions.hu} (a, b) = a ^ {(2 ^ {2 (0,5-b)})}}f _ {{illusions.hu}} (a, b) = a ^ {{(2 ^ {{2 (0.5-b)}})}}

При b = 0 все равно получается γ = 2, при b = 0,5 получается γ = 1, при b = 1 получается γ = 0,5, но это не линейная интерполяция между этими тремя изображениями.

Формула, указанная в последних черновиках W3C для SVG и Canvas, математически эквивалентна формуле Photoshop с небольшим изменением, где b≥0,5. и a≤0,25:

fw 3 c (a, b) = {a - (1-2 b) ⋅ a ⋅ (1 - a), если b ≤ 0,5 a + (2 b - 1) ⋅ (gw 3 c (a) - a) иначе {\ displaystyle f_ {w3c} (a, b) = {\ begin {cases} a- (1-2b) \ cdot a \ cdot (1-a) {\ text {if }} b \ leq 0.5 \\ a + (2b-1) \ cdot (g_ {w3c} (a) -a) {\ text {иначе}} \ end {cases}}}f _ {{w3c}} (a, b) = {\ begin {cases} a- (1-2b) \ cdot a \ cdot (1- a) {\ text {if}} b \ leq 0.5 \\ a + (2b-1) \ cdot (g _ {{w3c}} (a) -a) {\ text {else}} \ end {case} }

где

gw 3 c (a) = {((16 a - 12) ⋅ a + 4) ⋅ a, если a ≤ 0,25, a в противном случае {\ displaystyle g_ {w3c} (a) = {\ begin {cases} ((16a-12) \ cdot a + 4) \ cdot a {\ text {if}} a \ leq 0.25 \\ {\ sqrt {a}} {\ text {else}} \ end {cases}}}g _ {{w3c }} (a) = {\ begin {cases} ((16a-12) \ cdot a + 4) \ cdot a {\ text {if}} a \ leq 0.25 \\ {\ sqrt {a}} {\ текст {иначе}} \ end {cases}} .

Это тоже формула, использованная в Каире и в более ранней документации по PDF.

Это по-прежнему линейная интерполяция между 3 изображениями для b = 0, 0,5, 1. Но теперь изображение для b = 1 не γ = 0,5, а результат тональной кривой, которая отличается от кривой γ = 0,5 для малых значений a: w Хотя гамма-коррекция с γ = 0,5 может увеличить значение во много раз, эта новая кривая ограничивает увеличение a коэффициентом 4.

Dodge and burn

Dodge and burn изменяют яркость картинки, вдохновленные увиливанием и выжиганием, выполненным в темной комнате. Уклонение делает изображение светлее, а прожиг - темнее. Осветление изображения аналогично прожиганию его негатива (и наоборот).

  • Режимы Dodge :
    • Режим наложения Экран инвертирует оба слоя, умножает их, а затем инвертирует результат.
    • Режим наложения Color Dodge разделяет нижний слой перевернутым верхним слоем. Это делает нижний слой светлее в зависимости от значения верхнего слоя: чем ярче верхний слой, тем сильнее его цвет влияет на нижний слой. Смешивание любого цвета с белым дает белый цвет. Смешивание с черным не меняет изображения. Операция необратима из-за возможного отсечения светлых участков. (Отсечение происходит в той же области, что и для Linear Dodge .) Когда верхний слой содержит однородный цвет, этот эффект эквивалентен изменению белой точки на инвертированный цвет. Воспринимаемый контраст увеличивается, когда нет отсечения.
    • Режим наложения Linear Dodge просто суммирует значения в двух слоях (также известный как аддитивное смешивание ). Смешивание с белым дает белый цвет. Смешивание с черным не меняет изображения. Когда верхний слой содержит однородный цвет, этот эффект эквивалентен изменению выходной черной точки на этот цвет и (входной) белой точки на инвертированный цвет. Контрастность уменьшается, когда нет обрезки.
    • Divide: То же, что и «Color Dodge», но смешивание с белым не меняет изображение.
  • Режимы затемнения :
    • Режим Умножение просто умножает каждый компонент в двух слоях.
    • В режиме Color Burn инвертированный нижний слой делится на верхний слой, а затем инвертируется результат. Это затемняет верхний слой, увеличивая контраст, чтобы отразить цвет нижнего слоя. Чем темнее нижний слой, тем больше используется его цвет. Смешивание с белым не дает никакой разницы. Когда верхний слой содержит однородный цвет, этот эффект эквивалентен изменению черной точки на инвертированный цвет. Операция необратима из-за возможного отсечения теней. Отсечение происходит в той же области, что и для режима Linear Burn .
    • Режим Linear Burn суммирует значения в двух слоях и вычитает 1. Это то же самое, что инвертировать каждый слой, добавляя их. вместе (как в Linear Dodge), а затем инвертируют результат. Смешивание с белым оставляет изображение без изменений.
  • Яркий свет: этот режим наложения сочетает «Осветление» и «Затемнение» (масштабирование изменено так, что нейтральные цвета становятся средне-серыми). Осветление применяется, когда значения в верхнем слое светлее среднего серого, а затемнение применяется к более темным значениям. Средний серый цвет - нейтральный цвет. Когда цвет верхнего слоя светлее этого, это эффективно смещает белую точку нижнего слоя вниз на вдвое большую разницу; когда он темнее, черная точка сдвигается вверх вдвое. (Это увеличивает воспринимаемый контраст.)
  • Linear Light: этот режим наложения сочетает в себе Linear Dodge и Linear Burn (масштабирование изменено так, что нейтральные цвета становятся средне-серыми). Осветление применяется, когда значение верхнего слоя светлее среднего серого, а затемнение применяется, когда значение верхнего слоя темнее. Вычисление упрощается до суммы нижнего слоя и удвоенного верхнего слоя, вычитая 1. Этот режим уменьшает контраст.
  • Вычесть: этот режим наложения суммирует значения в двух слоях и вычитает 1. В отличие от Linear Burn, наложение с белым влияет на изображение.
Простые арифметические режимы наложения

Разделить

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

Сложение

Этот режим наложения просто добавляет значения пикселей одного слоя к другому. В случае значений выше 1 (в случае RGB) отображается белый цвет. «Linear Dodge » дает тот же визуальный результат. Поскольку при этом всегда получаются такие же или более светлые цвета, чем на входе, это также известно как «плюс светлее». Вариант вычитает 1 из всех конечных значений, при этом значения ниже 0 становятся черными; этот режим известен как «плюс темнее».

Subtract

Этот режим наложения просто вычитает значения пикселей одного слоя из другого. В случае отрицательных значений отображается черный цвет.

Разница

Разница вычитает нижний слой из верхнего или наоборот, чтобы всегда получать неотрицательное значение. Смешивание с черным не дает изменений, так как значения для всех цветов равны 0. (Значение RGB для черного равно (0,0,0).) Смешивание с белым инвертирует изображение.

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

Только затемнение

Только затемнение - создает пиксель, который сохраняет мельчайшие компоненты пикселей переднего плана и фона. Если пиксель переднего плана имеет компоненты (r 1, g 1, b 1) {\ displaystyle (r_ {1}, g_ {1}, b_ {1})}(r_1, g_1, b_1) , а фон имеет (r 2, g 2, b 2) {\ displaystyle (r_ {2}, g_ {2}, b_ {2})}(r_2, g_2, b_2) , результирующий пиксель равен

[min (р 1, р 2), мин (г 1, г 2), мин (б 1, б 2)] {\ displaystyle [\ мин (r_ {1}, r_ {2}), \ мин (g_ {1 }, g_ {2}), \ min (b_ {1}, b_ {2})]}{\ displaystyle [\ min (r_ {1}, r_ {2}), \ min (g_ {1}, g_ {2}), \ min (b_ {1}, b_ {2})]}

Только светлее

Только светлее имеет действие, противоположное только затемнению. Он выбирает максимум каждого компонента из пикселей переднего плана и фона. Математическое выражение для Lighten Only:

[max (r 1, r 2), max (g 1, g 2), max (b 1, b 2)] {\ displaystyle [\ max (r_ {1}, r_ {2}), \ max (g_ {1}, g_ {2}), \ max (b_ {1}, b_ {2})]}{\ displaystyle [\ max (r_ {1}, r_ {2}), \ max (g_ {1}, g_ {2}), \ max (b_ {1}, b_ {2})]}
Режимы булевой арифметики наложения

Редко, такие приложения, как Aviary's Peacock, будут предоставлять логические арифметические режимы наложения. Они объединяют двоичное расширение шестнадцатеричного цвета в каждом пикселе двух слоев с использованием логических элементов логических элементов. Альфа верхнего слоя управляет интерполяцией между изображением нижнего слоя и комбинированным изображением.

Цветовой тон, насыщенность и яркость

Режимы наложения оттенка, насыщенности, цвета и яркости Photoshop основаны на цветовом пространстве с оттенком, цветностью и яркостью размеры. Примечание: это пространство отличается как от HSL, так и от HSV, и между ними используется только размер оттенка. Подробнее см. В статье HSL и HSV.

В отличие от всех описанных выше режимов наложения, которые работают с каждым каналом изображения независимо, в каждом из этих режимов некоторые размеры берутся с нижнего слоя, а остальные - с верхнего слоя. Цвета, выходящие за пределы гаммы, переносятся внутрь посредством сопоставления вдоль линий постоянного оттенка и яркости. Это делает операции необратимыми - после того, как верхний слой был применен в одном из этих режимов наложения, в некоторых случаях невозможно восстановить внешний вид исходного (нижнего) слоя, даже применив копию нижний слой в том же режиме наложения над обоими.

  • Режим наложения Цветовой тон сохраняет яркость и цветность нижнего слоя, принимая оттенок верхнего слоя.
  • Режим наложения Насыщенность сохраняет яркость и оттенок нижнего слоя с одновременным использованием цветности верхнего слоя.
  • Режим наложения Color сохраняет яркость нижнего слоя, при этом применяя оттенок и цветность верхнего
  • Режим наложения Яркость сохраняет оттенок и цветность нижнего слоя, принимая яркость верхнего слоя.

Поскольку эти режимы наложения основаны на цветовом пространстве который намного ближе, чем RGB к воспринимаемым измерениям, его можно использовать для коррекции цвета изображения без изменения воспринимаемой яркости и для управления контрастом яркости без изменения оттенка или цветности. Режим «Яркость» обычно используется для повышения резкости изображения, потому что человеческое зрение гораздо более чувствительно к мелкомасштабному контрасту яркости, чем к цветовому контрасту. См. Контраст (видение).

Немногие редакторы, кроме Photoshop, реализуют то же цветовое пространство для своих аналогов этих режимов наложения. Вместо этого они обычно основывают свои режимы наложения на HSV (также известном как HSB) или HSL. Режимы наложения, основанные на HSV, обычно обозначаются как оттенок, насыщенность и яркость. Использование HSL или HSV имеет то преимущество, что большинство операций становятся обратимыми (по крайней мере, теоретически), но недостатком является то, что размеры HSL и HSV не так важны для восприятия, как размеры пространства, которое использует Photoshop.

Связь с маскированием

Результат применения нескольких из этих режимов линейно зависит от уровня пикселей верхнего слоя. В таких случаях, когда верхний слой чисто черный, происходит определенная трансформация нижнего слоя (который может быть просто чисто черным или чисто белым изображением). Когда верхний слой чисто белый, происходит еще одно такое преобразование. Промежуточные значения серого описаны выше с помощью ползунка непрозрачности во втором преобразовании.

В таких случаях применение режима смешивания эквивалентно Нормальному смешиванию :

  • Применить два преобразования к нижним слоям;
  • Использовать результат первого преобразования как новый нижний layer;
  • Поместите результат второго преобразования в качестве нового верхнего слоя;
  • Используйте исходный верхний слой в качестве маски на новом верхнем слое.

(Предполагается, что маска могут быть цветными, при этом каналы R, G, B маскируют каналы изображения независимо. Многие программы обработки изображений не допускают таких масок; для них это эквивалентно только для верхних слоев оттенков серого.)

Различия между слой и инструмент наложения

Некоторые приложения позволяют пользователю применять режимы наложения к инструментам рисования, таким как инструмент «Кисть» в Photoshop. Когда с этими инструментами используются режимы наложения, результат рассчитывается на основе пикселей, уже существующих на целевом слое. Если в настоящее время пиксели не существуют, то «закрашенные» пиксели создаются, как если бы они находились в нормальном режиме наложения. Последующие перекрывающиеся мазки затем рассчитываются на основе режима наложения инструмента, а результат применяется непосредственно к слою. Ключевое различие между смешиванием инструментов и смешиванием слоев состоит в том, что результаты наложения инструментов, как правило, не могут быть скорректированы после выполнения обводки, за исключением перехода назад с помощью команды «Отменить» приложения; наложения слоев можно регулировать непрозрачностью или даже переключать, поскольку они применяются динамически между слоями.

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

См. Также
На Wikimedia Commons есть материалы, связанные с режимами наложения.
Ссылки

Книги

Последняя правка сделана 2021-05-12 10:23:45
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте