Информационный объём изображения
Прибор автоматической фиксации нарушений правил дорожного движения делает цветные фотографии размером 1024×768 пикселей, используя палитру из 4096 цветов. Для передачи снимки группируются в пакеты по 256 штук.
Определите максимальный размер одного пакета фотографий в Мбайтах.
Анализ условия
- По условию в пакет входит до 256 фотографий, поэтому нужно узнать размер одной фотографии I и умножить его на 256.
- Поскольку используется равномерное кодирование (информация о каждом пикселе рисунка занимает одинаковое количество бит в памяти), для определения размера фотографии нужно найти количество бит i, выделенное на один пиксель, и умножить его на количество пикселей K.
- Количество бит i, которые нужно выделить для хранения цвета одного пикселя, определяется количеством цветов в палитре M. При этом должно выполняться неравенство: 2i ≥ M
- Количество пикселей K, составляющих изображение, равно произведению его размеров, т. е. 1024·768.
Решение
Сначала найдём количество пикселей изображения:
K = 1024*768 print( K )
Получим: 786432 пикселя.
Теперь определим, сколько битов нужно выделить для хранения цвета одного пикселя:
from math import log2, ceil M = 4096 i = ceil( log2(M) ) print( i )
Получим: 12 бит (2¹² = 4096 ≥ 4096).
Теперь находим размер одной фотографии в битах:
I = K*i
print( I )
Получим: 9 437 184 бита на одну фотографию.
И размер пакета из 256 фотографий:
V = 256*I print( V )
Итоговая программа:
from math import log2, ceil k = 1024*768 print( k ) M = 4096 i = ceil( log2(M) ) print( i ) I = k*i print( I ) V = 256*I print( V )
Объём пакета в битах равен 2 415 919 104. Переведём в байты, затем в килобайты и мегабайты:
Разбор по шагам
| Шаг | Формула | Значение |
|---|---|---|
| Количество пикселей | K = 1024 · 768 | 786 432 |
| Бит на пиксель | i = ⌈log₂ 4096⌉ | 12 (2¹² = 4096) |
| Бит на фотографию | I = K · i = 786432 · 12 | 9 437 184 бит |
| Бит на пакет | V = 256 · I | 2 415 919 104 бит |
| Байт на пакет | 2 415 919 104 / 8 | 301 989 888 байт |
| Кбайт на пакет | 301 989 888 / 1024 | 294 912 Кбайт |
| Мбайт на пакет | 294 912 / 1024 | 288 Мбайт |
🧮 Интерактивный расчёт
Измените параметры задачи и нажмите «Рассчитать» — калькулятор пошагово покажет все промежуточные значения.
По умолчанию подставлены параметры из условия задачи. Ответ выводится в Мбайтах.
Page 1 of 1









