Вычисление объёма растрового изображения
💻 Информатика · 7 класс
Объём растрового изображения
Растровое изображение состоит из множества точек — пикселей, каждый из которых хранит свой цвет. Фотографии, отсканированные картинки и значки на экране — всё это растровые изображения. Чтобы узнать, сколько памяти занимает картинка, нужно посчитать её информационный объём.
От чего зависит объём
- Разрешение — число пикселей по ширине и высоте, например
800 × 600. - Глубина цвета
i— сколько битов отводится на хранение цвета одного пикселя.
Сначала находят общее число пикселей N, затем умножают его на глубину цвета и получают объём в битах. Логика проста: каждый пиксель занимает i битов, а пикселей всего N штук.
N = ширина · высота
I = N · i
Связь глубины цвета и числа оттенков
Глубина цвета задаёт количество доступных цветов по формуле K = 2^i. Чем больше битов на пиксель, тем больше оттенков, но и тем больше объём файла. Поэтому качественная цветная фотография весит заметно больше, чем чёрно-белый рисунок того же размера.
| Глубина цвета i | Число цветов K | Применение |
|---|---|---|
| 1 | 2 | чёрно-белое изображение |
| 8 | 256 | значки, простые рисунки |
| 16 | 65 536 | цветные изображения |
| 24 | 16 777 216 | фотографии |
Разобранный пример
Найдём объём изображения 100 × 200 пикселей при глубине цвета 8 битов.
N = 100 · 200 = 20 000 пикселей
I = 20 000 · 8 = 160 000 битов
I = 160 000 : 8 = 20 000 байтов
I = 20 000 : 1024 ≈ 19,5 Кбайт
Деление на 8 переводит биты в байты, деление на 1024 — байты в килобайты. Заметьте: если увеличить глубину цвета до 24 битов, объём вырастет втрое, ведь каждый пиксель теперь хранит втрое больше информации.
Обратная задача
Иногда известен объём, а найти нужно разрешение или глубину цвета. Тогда формулу I = N · i разворачивают: чтобы найти число пикселей, объём в битах делят на глубину цвета, а чтобы найти глубину цвета — делят на число пикселей. Покажем это на примере: пусть изображение из 40 000 пикселей занимает 15 000 байтов. Переведём объём в биты: 15 000 · 8 = 120 000 битов. Тогда глубина цвета равна 120 000 : 40 000 = 3 бита на пиксель, а значит, в палитре было 2^3 = 8 цветов.
Почему растр много весит
Растровое изображение хранит цвет каждой отдельной точки, поэтому при большом разрешении файлов получается тяжёлым. Чтобы уменьшить объём, применяют сжатие данных, но сам принцип расчёта остаётся прежним: чем больше пикселей и чем выше глубина цвета, тем больше памяти нужно несжатой картинке.
Частые ошибки. Складывают, а не перемножают стороны; путают глубину цвета и число цветов; забывают перевести биты в байты (делить на 8) и используют 1000 вместо 1024 при переходе к килобайтам.
Кратко о главном
- Объём растра зависит от разрешения и глубины цвета.
- Число пикселей
Nравно произведению ширины на высоту. - Объём
I = N · iвычисляют в битах, затем переводят в байты. - Число цветов
K = 2^iрастёт с увеличением глубины цвета. - В обратной задаче формулу разворачивают через деление.