Альфа-композитинг

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

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

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

Хотя основная операция объединения двух изображений заключается в наложении одного изображения на другое, используется множество операций или режимов наложения.

Содержание

  • 1 Описание
    • 1.1 Прямое и предварительно умноженное
    • 1.2 Примеры различных операций
  • 2 Аналитический вывод оператора over
  • 3 Альфа-смешение
  • 4 Другие методы прозрачности
  • 5 Составление альфа-смешивания с гамма-коррекцией
  • 6 См. Также
  • 7 Ссылки
  • 8 Внешние ссылки

Описание

Для хранения информации matte, концепция альфа-канал был введен Элви Рэем Смитом в конце 1970-х и полностью развит в статье 1984 года Томасом Портером и Томом Даффом. В двухмерном изображении комбинация цветов сохраняется для каждого элемента изображения (пикселя). Дополнительные данные для каждого пикселя хранятся в альфа-канале со значением в диапазоне от 0 до 1. Значение 0 означает, что пиксель прозрачный и не предоставляет никакой информации о покрытии; то есть нет окклюзии в окне пикселя изображения, потому что геометрия не перекрывала этот пиксель. Значение 1 означает, что пиксель полностью перекрывается, потому что геометрия полностью перекрывает окно пикселя.

Прямое и предварительно умноженное

Если в изображении используется альфа-канал, доступны два распространенных представления: прямая (несвязанная) альфа и предварительно умноженная (связанная) альфа.

При прямом альфа-канале компоненты RGB представляют цвет объекта или пикселя, не обращая внимания на его непрозрачность.

При предварительно умноженном альфа-канале компоненты RGB представляют собой излучение объекта или пикселя, а альфа-канал представляет собой загорание. Более очевидным преимуществом этого является то, что в определенных ситуациях можно сохранить последующее умножение (например, если изображение используется много раз во время последующего композитинга). Однако наиболее существенные преимущества использования предварительно умноженного альфа-канала заключаются в правильности и простоте, а не в производительности: предварительно умноженный альфа-канал позволяет правильно фильтровать и смешивать. Кроме того, предварительно умноженный альфа-канал позволяет кодировать области с обычным альфа-смешиванием и области с аддитивным режимом смешивания в одном изображении, поскольку значения каналов обычно хранятся в формате с фиксированной точкой, который ограничивает значения между 0 и 1.

Предполагая, что цвет пикселя выражается с использованием прямых (без предварительного умножения) кортежей RGBA , значение пикселя (0, 0,7, 0, 0,5) подразумевает пиксель, который имеет 70% максимальной интенсивности зеленого и 50% непрозрачности. Если бы цвет был полностью зеленым, его RGBA был бы (0, 1, 0, 0,5).

Однако, если этот пиксель использует предварительно умноженную альфа, все значения RGB (0, 0,7, 0) умножаются или масштабируются для окклюзии на альфа-значение 0,5, которое добавляется к yield (0, 0,35, 0, 0,5). В этом случае значение 0,35 для канала G фактически указывает на 70% -ную интенсивность зеленого излучения (с 50% -ной окклюзией). Чистое зеленое излучение будет закодировано как (0, 0,5, 0, 0,5). Знание того, использует ли файл прямую или предварительно умноженную альфа-канал, важно для правильной обработки или объединения, поскольку требуется другой расчет. Также вполне приемлемо иметь экспресс-излучение триплета RGBA без окклюзии, например (0,4, 0,3, 0,2, 0,0). Пожары и пламя, свечение, вспышки и другие подобные явления могут быть представлены только с использованием связанной / предварительно умноженной альфы.

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

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

Предварительное умножение может снизить доступную относительную точность значений RGB при использовании целочисленного представления или представления с фиксированной точкой для компонентов цвета, что может вызвать заметную потерю качества, если информация о цвете позже станет ярче или если альфа-канал удален. На практике это обычно не заметно, потому что во время типичных операций композиции, таких как OVER, влияние цветовой информации низкой точности в областях с низким альфа-каналом на окончательное выходное изображение (после композиции) соответственно уменьшается. Эта потеря точности также упрощает сжатие предварительно умноженных изображений с использованием определенных схем сжатия, поскольку они не записывают вариации цвета, скрытые внутри прозрачных областей, и могут выделять меньше битов для кодирования областей с низким альфа-каналом. Те же «ограничения» более низкой битовой глубины квантования, такие как 8 бит на канал, также присутствуют в изображениях без альфа, и в результате этот аргумент является проблематичным.

При наличии альфа-канала можно выражать операции составления изображения с помощью алгебры композитинга. Например, для двух элементов изображения A и B наиболее распространенной операцией компоновки является объединение изображений таким образом, чтобы A появлялся на переднем плане, а B - на заднем. Это может быть выражено как A на B. В дополнение к над, Портер и Дафф определили операторы компоновки in,, удерживаемые (фраза относится к удерживающему матированию и обычно сокращается out ), поверх и xor (и обратные операторы rover, rin, rout и ratop ) из рассмотрения вариантов смешивания цветов двух пикселей, когда их покрытие, по идее, наложено ортогонально:

Alpha compositing.svg

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

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

С о знак равно С a α a + C b α b (1 - α a) α a + α b (1 - α a) {\ displaystyle C_ {o} = {\ frac {C_ {a} \ alpha _ { a} + C_ {b} \ alpha _ {b} (1- \ alpha _ {a})} {\ alpha _ {a} + \ alpha _ {b} (1- \ alpha _ {a})}} }{\ displaystyle C_ {o} = {\ frac {C_ {a} \ alpha _ {a} + C_ {b} \ alpha _ {b} (1- \ alpha _ {a})} {\ alpha _ {a} + \ alpha _ {b} (1- \ alpha _ {a})}}}

где C o {\ displaystyle C_ {o}}C_ {o} - результат операции, C a {\ displaystyle C_ {a}}C_ {a} - цвет пикселя в элементе A, C b {\ displaystyle C_ {b}}C_ {b} - цвет пикселя в элементе B, и α a {\ displaystyle \ alpha _ {a}}\ alpha _ {a} и α b {\ displaystyle \ alpha _ {b}}\ alpha _ {b} - это альфа пикселей в элементах A и B соответственно. Если предполагается, что все значения цвета предварительно умножены на их альфа-значения (ci = α i C i {\ displaystyle c_ {i} = \ alpha _ {i} C_ {i}}c_ {i} = \ alpha _ {i} C_ {i} ), мы можем переписать уравнение для выходного цвета как:

co = ca + cb (1 - α a) {\ displaystyle c_ {o} = c_ {a} + c_ {b} (1- \ alpha _ {a })}{\ displaystyle c_ {o} = c_ {a} + c_ {b} (1- \ alpha _ {a})}

и результирующее значение альфа-канала равно

α o = co C o = α a + α b (1 - α a) {\ displaystyle \ alpha _ {o} = {\ frac {c_ {o }} {C_ {o}}} = \ alpha _ {a} + \ alpha _ {b} (1- \ alpha _ {a})}{\ displaystyle \ alpha _ {o} = {\ frac {c_ {o}} {C_ {o}}} = \ alpha _ {a} + \ alpha _ {b} (1- \ alpha _ {a})}

Примеры различных операций

Примеры красного перекрывается зеленым, причем оба цвета полностью непрозрачны:

Аналитический вывод оператора over

Портер и Дафф дали геометрическая интерпретация формулы альфа-композитинга путем изучения ортогональных покрытий. Другой вывод формулы, основанный на модели физического отражения / коэффициента пропускания, можно найти в статье 1981 года Брюса А. Уоллеса.

. Третий подход можно найти, начав с с двумя очень простыми предположениями. Для простоты здесь мы будем использовать сокращенное обозначение a ⊙ b {\ displaystyle a \ odot b}a \ odot b для представления оператора над .

Первое предположение состоит в том, что в случае непрозрачного фона (т. Е. α b = 1 {\ displaystyle \ alpha _ {b} = 1}\ alpha _ {b} = 1 ) более оператор представляет собой выпуклую комбинацию из a {\ displaystyle a}a и b {\ displaystyle b}b :

C o = α a C a + (1 - α a) C b {\ displaystyle C_ {o} = \ alpha _ {a} C_ {a} + (1- \ alpha _ {a}) C_ {b}}C_ {o } = \ alpha _ {a} C_ {a} + (1- \ alpha _ {a}) C_ {b}

Второе предположение состоит в том, что оператор должен соблюдать ассоциативное правило:

(a ⊙ b) ⊙ c = a ⊙ (b ⊙ c) {\ displaystyle (a \ odot b) \ odot c = a \ odot (b \ odot c)}(a \ odot b) \ odot c = a \ odot (b \ odot c)

Теперь предположим, что a {\ displaystyle a}a и b {\ displaystyle b}b имеют переменную прозрачность, тогда как c {\ displaystyle c }c непрозрачен. Мы заинтересованы в поиске

o = a ⊙ b. {\ displaystyle o = a \ odot b.}{\ displaystyle o = a \ odot b.}

Из ассоциативного правила мы знаем, что должно выполняться следующее:

o ⊙ c = a ⊙ (b ⊙ c) {\ displaystyle o \ odot c = a \ odot (b \ odot c)}о \ odot c = a \ odot (b \ odot c)

Мы знаем, что c {\ displaystyle c}c непрозрачно, и, следовательно, b ⊙ c {\ displaystyle b \ odot c}b \ odot c непрозрачен, поэтому в приведенном выше уравнении каждый оператор ⊙ {\ displaystyle \ odot}\ odot может быть записан как выпуклая комбинация:

α o C o + ( 1 - α o) C c = α a C a + (1 - α a) (α b C b + (1 - α b) C c) = [α a C a + (1 - α a) α b C б] + (1 - α а) (1 - α б) С с {\ Displaystyle {\ begin {выровнено} \ alpha _ {o} C_ {o} + (1- \ alpha _ {o}) C_ {c } = \ alpha _ {a} C_ {a} + (1- \ alpha _ {a}) (\ alpha _ {b} C_ {b} + (1- \ alpha _ {b}) C_ {c}) \\ [5pt] = [\ alpha _ {a} C_ {a} + (1- \ alpha _ {a}) \ alpha _ {b} C_ {b}] + (1- \ alpha _ {a }) (1- \ alpha _ {b}) C_ {c} \ end {align}}}{ \ displaystyle {\ begin {align} \ alpha _ {o} C_ {o} + (1- \ alpha _ {o}) C_ {c} = \ alpha _ {a} C_ {a} + (1- \ alpha _ {a}) (\ alpha _ {b} C_ {b} + (1- \ alpha _ {b}) C_ {c}) \\ [5pt] = [\ alpha _ {a} C_ {a } + (1- \ alpha _ {a}) \ alpha _ {b} C_ {b}] + (1- \ alpha _ {a}) (1- \ alpha _ {b}) C_ {c} \ end {выровнено}}}

Таким образом, мы видим, что это представляет уравнение вида X 0 + Y 0 C c = X 1 + Y 1 C c {\ displaystyle X_ {0} + Y_ {0} C_ {c} = X_ {1} + Y_ {1} C_ {c}}X_ {0} + Y_ {0} C_ {c} = X_ {1} + Y_ {1} C_ {c} . Установив X 0 = X 1 {\ displaystyle X_ {0} = X_ {1}}X_{0}=X_{1}и Y 0 = Y 1 {\ displaystyle Y_ {0} = Y_ {1} }Y_ {0} = Y_ {1} получаем

α o = 1 - (1 - α a) (1 - α b), C o = α a C a + (1 - α a) α b C b α o, {\ displaystyle {\ begin {align} \ alpha _ {o} = 1- (1- \ alpha _ {a}) (1- \ alpha _ {b}), \\ [5pt] C_ {o} = {\ frac {\ alpha _ {a} C_ {a} + (1- \ alpha _ {a}) \ alpha _ {b} C_ {b}} {\ alpha _ {o}}}, \ end {align}}}{\ displaystyle {\ begin {выровнено} \ alpha _ {o} = 1- (1- \ alpha _ {a}) (1- \ alpha _ {b}), \\ [5pt] C_ {o} = {\ frac {\ alpha _ {a} C_ {a} + (1- \ alpha _ {a}) \ alpha _ {b} C_ {b}} {\ alpha _ {o}}}, \ end {align}}}

, что означает, что мы аналитически вывели формулу для выходного альфа-канала и выходного цвета a ⊙ b {\ displaystyle a \ odot b}a \ odot b .

Дано еще более компактное представление заметив, что (1 - α a) α b = α o - α a {\ displaystyle (1- \ alpha _ {a}) \ alpha _ {b} = \ alpha _ {o} - \ alpha _ {a}}(1- \ alpha _ { a}) \ alpha _ {b} = \ alpha _ {o} - \ alpha _ {a} :

С о знак равно α a α о С a + (1 - α a α о) C b {\ displaystyle C_ {o} = {\ frac {\ alpha _ {a}} {\ alpha _ {o}}} C_ {a} + \ left (1 - {\ frac {\ alpha _ {a}} {\ alpha _ {o}}} \ right) C_ {b}}C_ {o} = {\ frac {\ alpha _ {a}} {\ alpha _ {o}}} C_ {a} + \ left (1 - {\ frac {\ alpha _ {a}} {\ alpha _ {o}}} \ right) C_ {b}

⊙ {\ displaystyle \ odot}\ odot оператор удовлетворяет всем требованиям некоммутативного моноида, где th e элемент идентичности e {\ displaystyle e}е выбран так, что e ⊙ a = a ⊙ e = a {\ displaystyle e \ odot a = a \ odot e = a}e \ odot a = a \ odot e = a (т.е. элементом идентичности может быть любой кортеж ⟨C, α⟩ {\ displaystyle \ langle C, \ alpha \ rangle}\ langle C, \ alpha \ rangle с α = 0 {\ displaystyle \ alpha = 0}\ alpha = 0 ).

Альфа-смешение

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

Альфа-смешение - это выпуклая комбинация двух цветов, обеспечивающая эффекты прозрачности в компьютерной графике. Значение альфав цветовом коде находится в диапазоне от 0,0 до 1,0, где 0,0 представляет собой полностью прозрачный цвет, а 1,0 представляет собой полностью непрозрачный цвет. Это значение альфа также соответствует отношению «SRC к DST» в уравнениях Портера и Даффа.

Значение результирующего цвета определяется как:

{out A = src A + dst A (1 - src A) out RGB = (src RGB src A + dst RGB dst A (1 - src A)) ÷ out A out A = 0 ⇒ out RGB = 0 {\ displaystyle {\ begin {cases} \ mathrm {out} _ {A} = \ mathrm {src} _ {A} + \ mathrm {dst} _ {A} (1- \ mathrm {src} _ {A}) \\\ mathrm {out} _ {\ text {RGB}} = {\ bigl (} \ mathrm {src} _ {\ text {RGB} } \ mathrm {src} _ {A} + \ mathrm {dst} _ {\ text {RGB}} \ mathrm {dst} _ {A} \ left (1- \ mathrm {src} _ {A} \ right) {\ bigr)} \ div \ mathrm {out} _ {A} \\\ mathrm {out} _ {A} = 0 \ Rightarrow \ mathrm {out} _ {\ text {RGB}} = 0 \ end {case }}}{\ displaystyle {\ begin {cases} \ mathrm {out} _ {A} = \ mathrm {src} _ {A} + \ mathrm {dst} _ {A} ( 1- \ mathrm {src} _ {A}) \\\ mathrm {out} _ {\ text {RGB}} = {\ bigl (} \ mathrm {src} _ {\ text {RGB}} \ mathrm {src } _ {A} + \ mathrm {dst} _ {\ text {RGB}} \ mathrm {dst} _ {A} \ left (1- \ mathrm {src} _ {A} \ right) {\ bigr)} \ div \ mathrm {out} _ {A} \\\ mathrm {out} _ {A} = 0 \ Rightarrow \ mathrm {out} _ {\ text {RGB}} = 0 \ end {cases}}}

Если фон назначения непрозрачен, тогда dst A = 1 {\ displaystyle {\ text {dst}} _ {A} = 1}{\ displaystyle {\ text {dst}} _ {A} = 1} , и если вы его введете к верхнему уравнению:

{out A = 1 out RGB = src RGB src A + dst RGB (1 - src A) {\ displaystyle {\ begin {cases} \ mathrm {out} _ {A} = 1 \ \\ mathrm {out} _ {\ text {RGB}} = \ mathrm {src} _ {\ text {RGB}} \ mathrm {src} _ {A} + \ mathrm {dst} _ {\ text {RGB} } (1- \ mathrm {src} _ {A}) \ end {ases}}}{\ displaystyle { \ begin {case} \ mathrm {out} _ {A} = 1 \\\ mathrm {out} _ {\ text {RGB}} = \ mathrm {src} _ {\ text {RGB}} \ mathrm {src} _ {A} + \ mathrm {dst} _ {\ text {RGB}} (1- \ mathrm {src} _ {A}) \ end {case}}}

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

Если используется предварительно умноженная альфа, приведенные выше уравнения упрощаются до:

{out A = src A + dst A (1 - src A) out RGB = src RGB + dst RGB (1 - src A) { \ Displaystyle {\ begin {cases} \ mathrm {out} _ {A} = \ mathrm {src} _ {A} + \ mathrm {dst} _ {A} (1- \ mathrm {src} _ {A}) \\\ mathrm {out} _ {\ text {RGB}} = \ mathrm {src} _ {\ text {RGB}} + \ mathrm {dst} _ {\ text {RGB}} \ left (1- \ mathrm {src} _ {A} \ right) \ end {cases}}}{\ displaystyle {\ begin {cases} \ mathrm {out} _ {A} = \ mathrm {src} _ {A} + \ mathrm {dst} _ {A} (1- \ mathrm {src} _ {A}) \\\ mathrm {out} _ {\ text {RGB}} = \ mathrm {src} _ {\ text {RGB}} + \ mathrm {dst} _ {\ text {RGB}} \ left (1- \ mathrm {src} _ {A} \ right) \ end {cases}}}

Другие методы прозрачности

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

Подобный эффект может быть достигнут с 1-битным альфа-каналом, как в 16-битном режиме RGBA Highcolor изображения Truevision TGA . формат файла и связанный с ним графический режим Highcolor графических адаптеров TARGA и AT-Vista / NU-Vista. В этом режиме на каждый основной цвет RGB выделяется 5 бит (15-битный RGB ) плюс оставшийся бит в качестве «альфа-канала».

Составление альфа-смешения с гамма-коррекцией

Альфа-смешение без учета гамма-коррекции Альфа-смешение с учетом гамма-коррекции.

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

Гамма-коррекцию можно грубо описать следующим образом:

  • пусть отображает RGB {\ displaystyle {\ text {display}} _ {\ text {RGB}}}{\ displaystyle {\ text {display}} _ {\ text {RGB}}} быть интенсивностью RGB, которая отображается на экране (в нормализованной интенсивности, то есть между 0 и 1)
  • пусть сохраненный RGB {\ displaystyle {\ text {stored}} _ {\ text {RGB} }}{\ displaystyle {\ text {stored}} _ {\ text {RGB}}} - интенсивность RGB, которая хранится в виде битов в памяти компьютера (также в нормализованной интенсивности)
  • let γ {\ displaystyle \ gamma}\ gamma быть "декодирующей" гаммой 2.2 для сохраненного RGB {\ displaystyle {\ text {stored}} _ {\ text {RGB}}}{\ displaystyle {\ text {stored}} _ {\ text {RGB}}} изображения (γ {\ displaystyle \ gamma}\ gamma имеет типичное значение 2,2)

Тогда мы имеем следующее соотношение:

отображаемый RGB = сохраненный RGB γ {\ displaystyle {\ text {display}} _ {\ text {RGB }} = {\ text {stored}} _ {\ text {RGB}} ^ {\ gamma}}{\ displaystyle {\ text {отображается}} _ {\ text {RGB}} = {\ text {stored}} _ {\ text {RGB}} ^ {\ gamma}}

Таким образом, при работе со значениями RGB, сохраненными на компьютере, альфа-смешение будет выглядеть намного лучше (и будет более "правильным", в физическом смысле аддитивного света), если гамма Коррекция не применяется до усреднения изображений и применяется повторно после этого. Также возможно выполнить эту технику с предварительно умноженными пикселями; OpenGL имеет расширения, предназначенные для этой операции.

Например, если кто-то хочет наложить изображение с именем overlay rgb {\ displaystyle overlay _ {\ text {rgb}}}{\ displaystyle overlay _ {\ text {rgb }}} с альфа-каналом наложение α {\ displaystyle overlay _ {\ alpha}}{\ displaystyle overlay _ {\ alpha}} на фоновое изображение background rgb {\ displaystyle background _ {\ text {rgb}}}{\ displaystyle background _ {\ text {rgb}}} , то результирующее изображение out rgb {\ displaystyle out _ {\ text {rgb}}}{\ displaystyle out _ {\ text {rgb}}} можно рассчитать следующим образом:

out rgb = (overlay rgb γ × наложение α + фон rgb γ × (1 - наложение α)) 1 / γ {\ displaystyle {\ text {out}} _ {\ text {rgb}} = ({\ text {overlay}} _ {\ text {rgb }} ^ {\ gamma} \ times {\ text {overlay}} _ {\ alpha} + {\ text {background}} _ {\ text {rgb}} ^ {\ gamma} \ times (1 - {\ text {overlay}} _ {\ alpha})) ^ {1 / \ gamma}}{\ displaystyle {\ text {out}} _ {\ text {rgb}} = ({\ text {overlay}} _ {\ text {rgb}} ^ {\ gamma} \ times {\ text {overlay}} _ {\ alpha} + {\ text {background}} _ { \ text {rgb}} ^ {\ gamma} \ times (1 - {\ text {overlay}} _ {\ alpha})) ^ {1 / \ gamma}}

Примечание: out rgb {\ displaystyle {\ text {out}} _ {\ text {rgb}}}{\ displaystyle {\ text {out}} _ {\ text {rgb}}} - изображение, которое будет храниться в памяти компьютера; и он будет отображаться как out rgb γ {\ displaystyle {\ text {out}} _ {\ text {rgb}} ^ {\ gamma}}{\ displaystyle {\ text {out}} _ {\ text {rgb}} ^ {\ гамма}} на дисплее компьютера.

См. Также

Ссылки

Внешние ссылки

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