Свет и цвет

Вс 17 декабря 2017

Время чтения: 2 min

Восприятие света

Видимый для человека свет – лишь малая часть электромагнитного спектра, соответствующая длинам волн 380-780 нм. Для выбора этого диапазона есть весомые причины: во-первых, на него приходится максимум в частотном распределении светимости Солнца; во-вторых, более высокие частоты не пропускаются атмосферой Земли.

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

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

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

Формирование изображений

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

В определенных случаях применяются и другие модели. Например, RGB плохо подходит для печати на белой бумаге, поскольку подразумевает, что цвет «по умолчанию» - черный. Для этого используется модель CMY.

Также для редактирования и анализа изображений используется модель YCbCr, а в аналоговом телевидении широко применяется HSL.

Кодирование изображений

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

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