Кодирование чёрно-белого изображения
💻 Информатика · 7 класс
Кодирование чёрно-белого изображения
Самый простой способ закодировать рисунок в памяти компьютера — представить его в виде чёрно-белого изображения, где каждая точка может быть только одного из двух цветов. Такое изображение легко перевести в нули и единицы, поэтому именно с него удобно начинать изучение кодирования графики. Освоив этот случай, легче понять и более сложное кодирование цветных картинок.
Растр из точек
Изображение разбивают на сетку из мелких квадратиков — пикселей. Такой способ представления называют растровым. Если пиксель чёрный, его кодируют единицей, а если белый — нулём (можно договориться и наоборот, главное — соблюдать правило по всей картинке). Так весь рисунок превращается в таблицу из нулей и единиц, которую компьютер хранит в памяти.
Правило: для двухцветного изображения на каждый пиксель нужен ровно 1 бит. Это связано с тем, что два цвета — это два возможных состояния, а одно состояние из двух как раз и кодируется одним битом по формуле N = 2^i.Разбор примера
Закодируем маленькую картинку размером 4 на 4 пикселя, на которой чёрные точки образуют крестик. Обозначим чёрный цвет как 1, а белый как 0, и запишем рисунок по строкам:
0 1 1 0
0 1 1 0
1 1 1 1
0 1 1 0Эта таблица из нулей и единиц полностью описывает рисунок. Чтобы восстановить картинку, компьютер читает биты по строкам слева направо и закрашивает соответствующие клетки чёрным или оставляет белыми. Так из кода снова получается изображение.
Объём изображения
Объём чёрно-белого рисунка равен числу пикселей в нём, ведь на каждый пиксель отводится 1 бит. Чтобы найти число пикселей, перемножают ширину и высоту картинки. Рассмотрим несколько размеров:
| Размер | Число пикселей | Объём |
|---|---|---|
| 4 × 4 | 16 | 16 бит = 2 байта |
| 8 × 8 | 64 | 64 бита = 8 байт |
| 10 × 10 | 100 | 100 бит |
| 32 × 32 | 1024 | 1024 бита = 128 байт |
От двух цветов к большему
Если цветов нужно больше, на каждый пиксель отводят больше битов. Двумя битами можно закодировать 4 цвета, тремя — 8, а восемью битами (одним байтом) — целых 256 разных оттенков. Так чёрно-белый случай естественно обобщается на цветные изображения.
Где встречается такое кодирование
Чёрно-белое растровое кодирование используют там, где важна простота и малый объём: в значках, штрихкодах, простых схемах и шрифтовых символах. Каждый знак на экране — это, по сути, маленькая чёрно-белая картинка из точек, заданная единицами и нулями. Поняв, как кодируется такая картинка, легко перейти к изображениям в оттенках серого и к полноцветной графике, где принцип остаётся тем же, но битов на пиксель отводится больше.
Частая ошибка: считать, что для двух цветов нужен целый байт. Двум цветам достаточно одного бита; байт из 8 бит позволяет закодировать уже 256 оттенков, что во много раз больше необходимого.
Кратко о главном
- Изображение разбивают на сетку пикселей — это растр.
- Для двух цветов каждый пиксель кодируется одним битом.
- Чёрный и белый обозначают единицей и нулём.
- Объём чёрно-белой картинки равен числу пикселей в битах.