Представление изображений в компьютере.

Цифровое изображение.

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

Двоичное черно-белое изображение.

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

Изображение в градациях серого.

Более сложный способ, это использование для записи значения яркости пикселя уже нескольких разных значений. Минимальное значение — 0 считается обозначением для черного, а максимальное для белого. Изначально хранились только 16 значений (4 бита), именно столько мог отобразить монитор в те времена. Однако сейчас для изображение в градациях серого используют для значений пикселей в 8 бит, что дает 255 разных значений. Для большинства применений этого достаточно, большее количество значений требуется только для научных и медицинских целей, где для используются 16-ти битные пиксели, дающие 65 535 значений.

Цветное изображение.

Изображение с палитрой

Для хранения цветного изображения можно использовать метод, схожий с хранением черно-белого изображения. Только вместо просто градаций яркости будем хранить еще и таблицу, в которой укажем какой цвет соответствует каждому числовому значению пикселя. Если мы для этого используем те же 8 бит, то получим 255 разных цветов. Это удобно в том случае, когда известно что в нашем изображении цветов мало и отсутствуют плавные переходы от цвета к цвету — градиенты.

Полноцветное изображение

Однако для многоцветных изображений, такого количества цветов мало, поэтому используют другие способы записи. Каждый цвет можно представить в виде комбинации нескольких базовых, например, если мы используем модель RGB, то этими цветами будут R-красный, G-зеленый и B-голубой. Смешивая базовые цвета в нужной пропорции, мы получим требуемый цвет. В цифровой форме это означает что вместо одного значения для цвета мы будем хранить три, для каждой компоненты в отдельности. Пусть у нас отведено под каждый пиксель два байта, т.е. 16 бит, выделим по 5 бит на каждую компоненту цвета (т.е. по 32 разных значений яркости цвета), путем комбинации мы получим возможность описать уже 32 768 оттенков. Если же мы пойдем дальше и выделим по 1 байту на каждую компоненту цвета, то получим уже 16 777 216 разных оттенков. Для подавляющего большинства случаев этого достаточно, человеческий глаз хоть и в состоянии различить многие миллиарды разных оттенков, но если ему показать изображение в котором используется по 8 бит на цвет заметит подвох только при очень придирчивом исследовании.

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