Игра с каналами
Что такое RGB
Более 10 лет назад на мировые экраны с шумом и успехом вышло начало эпопеи "Матрица". Мы не будем касаться фабулы, сюжета, а тем паче основных философских идей, заложенных в данном фильме - как бы нам ни хотелось этого Главная же мысль, столь ярко реализованная в фильме, на наш взгляд такова: так как мы не знаем истинности/ложности мира окружающего нас, допустимо полагать, что мир является компьютерной иллюзией. К слову вспоминается один из девизов, дошедший до нас со времён сети ФИДО: "Погляди на мир - геймплей фиговый, зато каков крут рендеринг!" Если вы не знакомы с термином "рендеринг", то простыми словами его можно описать как превращение набора компьютерных команд при сложной обработке графики в видимое, наблюдаемое изображение. Чем качественнее этот самый рендеринг - тем более реалистична графика (если в приложении к окружающему миру вообще допустимо оперировать подобными терминами).
Однако, вернёмся к нашим фотографиям. Одним из различий фотографии цветной и плёночной от фотографии цветной, но цифровой является материальный носитель цвета. В плёнке либо бумажном отпечатке цвет образуется определёнными веществами, поглощающими световые волны одной длины и отражающими волны длины другой, то есть цвет является как бы материальным. В цифровом файле, если использовать некую упрощённую модель, всё изображение состоит из массива точек (двухмерная таблица), каждая ячейка которого описывается неким числом, лежащим в определённом диапазоне. Когда создавались стандарты цифровой графики, компьютерщики договорились, что число одного диапазона описывает, например, синий цвет, другого - зелёный, а третьего - красный. Конечно же, это знаменитая цветовая модель RGB. Отсюда пошло и понятие цветовых каналов изображений. В некотором смысле любую цветную картинку можно представить тремя трафаретами с той или иной степенью пропускающими только свой цвет, то есть, цвет для компьютера - понятие условное и ничто нам не мешает менять каналы местами, ведь они всё равно условны. Например, зелёному трафарету присвоить красный цвет и т.п.
Цвета изображений: каналы
Для интереса мы решили взять три разных фотографии и поэкспериментировать над ними в программах для Windows - IrfanView и XnView.
Делается это просто - изображение загружается в программу и каналы меняются командой
- в IrfanView: "Изображение"-> "Поменять местами цветовые каналы", а далее выбираем один из пяти типов,
- в XnView: "Изображение"-> "Изменение цветовой модели" и также выбираем тип.
В обеих программах последовательность вариантов совпадают.
1 тип смены каналов: RGB->RBG, то есть местами меняются синий и зелёный. На картинке стало особенно заметно изменение лепестков цветов и сердцевины.
2 тип: RGB->BGR - меняются местами красный и синий.
3 тип: RGB->BRG - красный меняется на синий, зелёный на красным, а синий на зелёный.
4 тип: RGB->GRB - красный меняется местами с зелёным.
5 тип: RGB->GBR - красный меняется местом на синий, зелёный на синий, а синий на красный.
В конце мы приводим сводный снимок всех изменений.