Как кодируется цвет — RGB и глубина цвета?
В задаче про объём картинки фигурирует «глубина цвета» и RGB. Как вообще кодируется цвет и как из этого посчитать размер изображения в байтах?
4 ответа
Разберём по частям.
RGB — цвет складывается из трёх каналов: Red, Green, Blue. Каждый канал обычно 8 бит, итого 8*3 = 24 бита на пиксель. Это и есть глубина цвета (сколько бит на один пиксель).
Глубина цвета i связана с количеством цветов N: N = 2^i. Если i = 24, то цветов 2^24 ≈ 16,7 млн.
Объём картинки считается так: Объём = ширина * высота * i (в битах), потом /8 для байт.
Пример: картинка 100x200 пикселей, глубина 24 бита. Пикселей: 100*200 = 20000. Бит: 20000 * 24 = 480000 бит. Байт: 480000 / 8 = 60000 байт.
Главное — не забыть умножить на число пикселей и перевести в байты.
Глубина цвета — это сколько бит на пиксель. N цветов = 2 в степени i. Объём = кол-во пикселей * глубину / 8.
RGB = 3 канала по 8 бит = 24 бита на пиксель в обычном случае.
Размер картинки = ширина + высота.