Сглаживание и гамма компенсация

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

Обычно мы производим изображения на мониторе и используем их там также, таким образом, все это хорошо работает. Но когда мы сглаживаемся, нелинейность — названный гаммой — означает, что мы не можем только добавить альфа-значение 0,5 к покрытому 50% пикселю и ожидать, что это будет выглядеть правильным. Альфа-значение 0,5 только 0.5^2.2=22%, столь же яркий как альфа 1,0 с типичной гаммой 2,2.

Там кто-либо - широко установленная лучшая практика для сглаживания гамма компенсации? У Вас есть любимый метод, который Вы используете со дня на день? Кто-либо видел какие-либо исследования результатов и человеческое восприятие качества вывода графических данных с различными методами?

Я думал о выполнении стандарта X^ (1/2.2) компенсация, но это довольно в вычислительном отношении интенсивно. Возможно, я могу сделать его быстрее с 256 справочными таблицами записи, все же.

7
задан Brian 10 February 2010 в 01:12
поделиться

2 ответа

Таблицы поиска используются для такой работы довольно часто. Они маленькие и быстрые.

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

Причина: для типичных байтовых каналов R, G, B у вас есть 256 уникальных значений в каждом канале в каждом пикселе. Этого почти достаточно, чтобы хорошо выглядеть для человеческого глаза (я бы хотел, чтобы «байт» был определен как девять бит!) Любая математика, кроме тривиальной инверсии значений, будет отображать многие к одному для некоторых из этих значений. На выходе не будет 256 значений для каждого пикселя для R, G или B, но будет гораздо меньше. Это может привести к образованию контуров, зазубринам, цветовому шуму и другим дефектам.

Помимо вопросов точности, если требуется какое-либо приличное качество, все компостирование, смешивание, смешивание, цветокоррекция, добавление фальшивых бликов, хромакеинг и т.д. должны выполняться в линейном пространстве RGB, где значения R , G и B пропорциональны физической интенсивности света. Математика изображения имитирует математику физического света. Но там, где важна максимальная скорость, есть способы обмануть.

1
ответ дан 7 December 2019 в 12:19
поделиться

Jim Blinns - "Dirty Pixels" книга описывает быстрый и хороший расчет композитинга с использованием 16-битной математики плюс таблицы поиска для точного возврата и перехода к линейному цветовому пространству. Этот парень работал над визуализациями NASA, он знает свое дело.

2
ответ дан 7 December 2019 в 12:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: