Кодирование изображений
Информация о состоянии каждого пикселя хранится в закодированном виде
в памяти компьютера. Код может быть однобитовым, двухбитовым и т.д.
Код пикселя - это информация о цвете пикселя.
Кодирование черно-белого изображения
|
|
|
Для получения черно-белого изображения пиксель может находится в
одном из двух состояний: светится – не светится. Тогда для его
кодирования достаточно 1 бита памяти:
|
Задача 1
Сколько бит памяти требуется для хранения черно-белого изображения буквы К?
|
|
|
Дано:
Растровая сетка размером 10 х 10 с изображением буквы
Сколько бит памяти требуется для хранения информации?
|
Решение:
1. Количество пикселов, требующихся для хранения: 10×10=100.
2. Т.к. для хранения 1 пикселя требуется 1 бит памяти, объем памяти = 100 бит.
Ответ: Для хранения информации требуется 100 бит памяти.
Задача 2
Изменится ли объем памяти, необходимой для хранения рисунка, если будет изображена другая картинка?
|
|
|
Дано:
Растровая сетка размером 10 х 10 с изображением буквы
Сколько бит памяти требуется для хранения информации?
|
Решение:
1. Количество пикселов, требующихся для хранения: 10×10=100.
2. Т.к. для хранения 1 пикселя требуется 1 бит памяти, объем памяти = 100 бит.
Ответ: Для хранения информации требуется 100 бит памяти. Объем памяти не изменится.
Задача 3
Черно-белая картинка построена на экране монитора с разрешением 800 х 600. Какой объем памяти она занимает?
|
|
|
Дано:
Растровая сетка размером 800 х 600 с изображением картинки.
Какой объем памяти требуется для хранения картинки?
|
Решение:
1. Количество пикселов, требующихся для хранения: 800 х 600 = 480 000.
2. Т.к. для хранения 1 пикселя требуется 1 бит памяти, объем памяти равен: 800 х 600 бит = 100*600 байт = 58,6 Кбайт
Ответ: Для хранения информации требуется 58,6 Кбайт памяти.
Как получается цветное изображение на экране?
|
|
|
Каждый пиксел на цветном экране - это совокупность трех точек разного
цвета: красного, зеленого и синего. Эти точки расположены так близко
друг к другу, что нам они кажутся слившимися в ожну точку.
Из сочетания красного, зеленого и синего цветов складывается вся красочная палитра на экране.
Электронная пушка цветного монитора испускает три луча. Каждый луч
вызывает свечение точки только одного цвета. Для этого в мониторе
используется специальная фокусирующая система.
|
Кодирование цветного изображения
Как рассчитать объем памяти для хранения цветного изображения? Можно
ли в 1 бит записать информацию о цветах палитры? Сколько бит нужно для
кодирования одного пикселя на цветном дисплее?
Попробуем ответить на эти вопросы.
|
|
|
Мы знаем, что любой цвет на экране получается смешиванием трёх цветов: красного, зелёного и синего.
Кодирование цвета в компьютере при помощи трёх составляющих (красной, зелёной и синей) называется RGB (от Red — красный, Green — зелёный, Blue — синий).
Белый цвет получается при смешивании 100% красного, зеленого и синего цвета.
Желтый цвет - это 100% красного и зеленого и 0% синего цвета.
| |
Для хранения цвета, состоящего из трех составляющих, требуется трехбитовый двоичный код.
Из трех базовых цветов для трехбитового кода можно получить восемь комбинаций.
|
|
|
Цвет |
R (красный) |
G (зеленый) |
B (синий) |
|
0 |
0 |
0 |
|
0 |
0 |
1 |
|
0 |
1 |
0 |
|
0 |
1 |
1 |
|
1 |
0 |
0 |
|
1 |
0 |
1 |
|
1 |
1 |
0 |
|
1 |
1 |
1 |
| |
Вывод: для кодирования восьмицветного изображения требуются 3 бита памяти на 1 видеопиксель.
Из сказанного, казалось бы, следует вывод: с помощью трех базовых
цветов нельзя получить палитру, содержащую больше восьми цветов. Однако,
на экранах современных компьютеров получают цветные изображения,
составленные из сотен, тысяч и даже миллионов различных красок и
оттенков. Как это достигается?
Если иметь возможность управлять интенсивностью (яркостью)
свечения базовых цветов, то количество различных сочетаний, дающих
разные краски и оттенки, увеличивается.
Если к трем битам базовых цветов добавить один бит интенсивности,
который управляет яркостью всех трех цветов одновременно, то получится
шестнадцатицветная палитра.
Цвет |
R (красный) |
G (зеленый) |
B (синий) |
И (интенсивность) |
|
0 |
0 |
0 |
0 |
|
0 |
0 |
1 |
0 |
|
0 |
1 |
0 |
0 |
|
0 |
1 |
1 |
0 |
|
1 |
0 |
0 |
0 |
|
1 |
0 |
1 |
0 |
|
1 |
1 |
0 |
0 |
|
1 |
1 |
1 |
0 |
|
0 |
0 |
0 |
1 |
|
0 |
0 |
1 |
1 |
|
0 |
1 |
0 |
1 |
|
0 |
1 |
1 |
1 |
|
1 |
0 |
0 |
1 |
|
1 |
0 |
1 |
1 |
|
1 |
1 |
0 |
1 |
|
1 |
1 |
1 |
1 |
Большое количество цветов получается при раздельном управлении
интенсивностью базовых цветов. Причем для интенсивности каждого из
базовых цветов можно выделять больше одного бита.
Из всего сказанного можно сделать вывод: для кодирования цветного
изображения можно использовать более 3 бит памяти на 1 видеопиксель.
Количество бит, выделенных для записи цвета одного пикселя, называется глубиной цвета.
Максимальное количество цветов зависит от глубины цвета.
Количество цветов (K), и глубина цвета (b) связаны между собой формулой: K = 2b
Например, для получения цветовой гаммы в 256 цветов требуется 8 битов = 1 байт на каждый пиксель, так как
256 = 28
Объем видеопамяти
Объем необходимой видеопамяти определяется размером графической сетки
дисплея и количеством цветов. Минимальный объем видеопамяти должен быть
таким, чтобы в нее помещался один кадр (одна страница) изображения.
Задача 4
Рисунок построен с использованием палитры 256 цветов на экране
монитора с графическим разрешением 1024 х 768. Рассчитать объем памяти,
необходимый для хранения этого рисунка.
|
|
|
Дано:
Растровая сетка размером 1024 х 768.
Количество цветов К = 256
Рассчитать объем видеопамяти.
|
Решение:
1. По формуле K = 2b определяем глубину цвета.
256 = 28. Значит, глубина цвета b = 8 бит.
2. Количество пикселей на экране: 1024 х 768 = 786432.
3. 786432 * 8 бит = 786432 байт = 768 Кбайт
Ответ: Объем видеопамяти - 768 Кбайт.
Задача 5
Какая минимальная глубина цвета требуется для кодирования 20 цветов?
|
|
|
Дано:
Количество цветов К = 20
Какова глубина цвета?
|
Решение:
1. По формуле K = 2b определяем глубину цвета.
16 = 24 - это слишком мало.
32 = 25 - этого более чем достаточно. Значит, глубина цвета b = 5 бит.
Ответ: Глубина цвета b = 5 бит.
|