Сколько памяти необходимо для хранения цвета 1 пикселя

Обновлено: 22.11.2024

Поделиться этим сообщением:

Как несжатое растровое изображение размещается в памяти компьютера? Как представлен пиксель? Что такое шаг и шаг и для чего они нужны? Как вы адресуете пиксель в памяти? Как вы описываете образ в памяти?

Я попытался найти веб-страницу для чайников, объясняющую все это, и все, что я мог найти, это это. Поэтому я решил сам записать то, что считаю важным.

Изображение и пиксель

Википедия объясняет концепцию растровой графики, так что давайте примем эту идею как данность. Изображение, точнее несжатое растровое изображение, состоит из прямоугольной сетки пикселей. Изображение имеет ширину и высоту, измеренные в пикселях, а общее количество пикселей в изображении, очевидно, равно ширине×высоте< /эм>.

К пикселю можно обращаться с координатами x,y после того, как вы решили, где находится начало координат и в какую сторону идут оси координат.

Пиксель имеет свойство, называемое цветом, и может иметь или не иметь непрозрачность (или занятость). Цвет обычно описывается тремя числовыми значениями, назовем их «красный», «зеленый» и «синий» или R, G и B. Если существует непрозрачность (или заполнение), ее обычно называют «альфа» или А. Что на самом деле означают R, G, B и A, не имеет значения, если смотреть на то, как они хранятся в памяти. Важно то, что каждый из них кодируется определенным количеством битов. Каждый из R, G, B и A называется каналом.

Описывая, сколько памяти занимает пиксель, можно использовать единицы битов или байтов на пиксель. Оба могут быть сокращены до «bpp», поэтому будьте осторожны с тем, что это такое, и отдавайте предпочтение более явным именам в коде. Также иногда используются биты на канал, и каждый канал может иметь разное количество бит на пиксель. Например, формат rgb565 – это 16 бит на пиксель, 2 байта на пиксель, 5 бит на R- и B-каналы и 6 бит на G-канал.

Пиксель в памяти

Пиксели не бывают произвольных размеров. Пиксель обычно 32 или 16 бит, или 8 или даже 1 бит. 32- и 16-битные значения легко и эффективно обрабатывать на 32- и 64-битных процессорах. Ваше обычное RGB-изображение с 8 битами на канал, скорее всего, находится в памяти с 32-битными пикселями, лишние 8 бит на пиксель просто не используются (часто отмечены X в именах форматов пикселей). Настоящие 24-битные форматы на пиксель редко используются в памяти, потому что обмен некоторой памяти на более простой и эффективный код или схему почти всегда является чистой победой в обработке изображений. Термин «глубина» часто используется для описания того, сколько значащих битов использует пиксель, чтобы отличить его от того, сколько битов или байтов он занимает в памяти. Поэтому обычное RGB-изображение имеет 32 бита на пиксель и глубину 24 бита.

То, как каналы упаковываются в пиксели, определяется форматом пикселя. Существуют десятки форматов пикселей. При декодировании пиксельного формата вы должны сначала понять, относится ли он к массиву байтов (особенно используется, когда каждый канал имеет 8 бит) или к битам в единице. Формат 32 бита на пиксель имеет единицу измерения 32 бита, например, uint32_t на языке C.

Разница между массивом байтов и битов в единице измерения заключается в порядковом порядке следования байтов в архитектуре процессора. Если у вас есть два формата пикселей, один из которых записан в виде массива байтов, а другой записан в виде битов в форме модуля, и они эквивалентны в архитектуре с прямым порядком байтов, то они не будут эквивалентны в архитектуре с прямым порядком байтов. Наоборот. Это важно помнить, когда вы сопоставляете один набор форматов пикселей с другим, например, между OpenGL и чем-либо еще. На рис. 1 показаны три разных определения формата пикселей, которые создают в памяти идентичные двоичные данные.

Также возможно, хотя и крайне редко, что порядок байтов в архитектуре также влияет на порядок битов в байте. Pixman, несомненно унаследовавший его от определений пиксельного формата X11, — единственное место, где я это видел.

Изображение в памяти

Обычный способ хранения изображения в памяти – это размещение его пикселей по одному, строка за строкой. Началом координат выбран верхний левый угол, так что самый левый пиксель самой верхней строки имеет координаты 0,0. Сначала идут все пиксели первой строки, затем второй строки и так далее, включая последнюю строку. Двумерное изображение было размещено в памяти как одномерный массив пикселей. Это показано на рис. 2.

Есть не только количество пикселей width×height, но и каждая строка также имеет некоторые отступы.Область заполнения не используется для хранения чего-либо, она только выравнивает длину строки. Наличие отступов требует новой концепции: шага изображения.

Заполнение часто необходимо из-за аппаратных причин. Чем более специализированное и эффективное оборудование для манипулирования пикселями, тем больше вероятность того, что оно предъявляет особые требования к началу строки и выравниванию длины. Например, Pixman и, следовательно, Cairo (в частности, серверная часть изображений) требуют, чтобы строки были выровнены по 4-байтовым границам. Это упрощает написание эффективных операций с изображениями с использованием векторных или других инструкций, которые могут даже обрабатывать несколько пикселей одновременно.

Шаг или шаг

Ширина изображения практически всегда измеряется в пикселях. Шаг, с другой стороны, связан с адресами памяти и поэтому часто задается в байтах. Шаг — это другое название того же понятия, что и шаг, но оно может выражаться в других единицах.

Возможно, вы слышали, что шаг измеряется в байтах, а шаг — в пикселях, или наоборот. Шаг и шаг взаимозаменяемы, поэтому обязательно соблюдайте соглашения, используемые в кодовой базе, над которой вы, возможно, работаете. Не полагайтесь на свое чутье на байты и пиксели здесь.

Адресация пикселя

Как вычислить адрес памяти данного пикселя x,y? Каноническая формула:

Формула начинается с адреса первого пикселя в памяти data_begin, затем переходит к строке y, пока каждая строка имеет длину stride_bytes, и, наконец, переходит к пикселю x в этой строке.

В коде C, если у нас есть 32-битные пиксели, мы можем написать

Обратите внимание, как тип p влияет на вычисления, считая в единицах uint32_t вместо байтов.

Предположим, что формат пикселя в этом примере — argb8888, который определен в битах единичной формы, и мы хотим извлечь значение R:

И наконец, на рис. 3 показана шпаргалка.

Теперь мы рассмотрели самое важное, и вы можете не читать. Остальное просто полезно знать.


Не у всех есть «правильный» путь наверх

В приведенном выше примере мы исходили из того, что источником изображения является левый верхний угол, а строки сначала сохраняются в самом верху. Наиболее заметным исключением из этого является API OpenGL, который определяет, что данные изображения должны быть в самой нижней строке. (Традиционно для этого используется формат файла BMP.)

Многоплоскостные форматы

Выше мы говорили об одноплоскостных форматах. Это означает, что существует только один двумерный массив пикселей, формирующий изображение. Многоплоскостные форматы используют два или более двумерных массива для формирования изображения.

Простым примером с RGB-изображением может быть сохранение канала R в первой плоскости (2D-массив) и каналов GB во второй плоскости. Пиксели на первой плоскости имеют только значение R, а пиксели на второй плоскости имеют значения G и B. Однако на практике этот пример не используется.

Распространенные и реальные варианты использования многоплоскостных изображений — это различные цветовые форматы YUV. Канал Y хранится в первой плоскости, а каналы UV хранятся, например, во второй плоскости. Преимущество этого заключается в том, что, например. плоскость UV может подвергаться субдискретизации — ее разрешение может составлять только половину плоскости с Y, что позволяет сэкономить память.

Мозаичные форматы

Если вы читали о графических процессорах, возможно, вы слышали о тайлинге или тайловых форматах (мозаичный рендерер — это другое). Это специальные макеты пикселей, где изображение хранится не построчно, а прямоугольным блоком за блоком. Мозаичные форматы слишком дикие и разнообразные, чтобы объяснять их здесь, но если вы хотите попробовать, взгляните на документацию Nouveau по форматам поверхности G80.

Основы работы с цифровыми изображениями

Содержание:
1) Мотивы использования цифровых изображений.
2) Требования к генерации и хранению цвета (RGB).
3) Апплет для смешивания цветов.
4) Дизеринг.
5) Расчет места для хранения.
6) Уменьшение глубины цвета
7) Стандартные отраслевые форматы (GIF, JPEG, TIFF, BMP, PICT).


Носители для хранения и срок годности
Традиционно визуальная информация записывалась художником с использованием различных носителей или фотографами с помощью фотопленки. Каждый носитель имеет свой набор преимуществ, привлекательных для конкретного художника или фотографа. Каждая среда также имеет свой собственный набор ограничений. Например, камень, используемый скульптором, ограничен в цветовой гамме. В меньшей степени пленка и краска не всегда могут иметь желаемый цветовой диапазон. Однако скульптура продлевает жизнь, если ее должным образом защитить от непогоды. И краска, и фотопленка более подвержены разрушительному действию времени, теряя яркость цвета и четкость изображения.В частности, кинематографические изображения со временем исчезают до неузнаваемости. Срок службы черно-белой фотографии обычно составляет от 100 до 150 лет, если отпечатки и негативы хранятся в темноте при контролируемой температуре и влажности, когда их не просматривают. Большинство красок и пленок разлагаются (выцветают) в присутствии света. Срок годности цветной фотографии гораздо короче, возможно, всего от 40 до 80 лет. Большая часть ранних цветных фотодокументов эпохи президента Джона Ф. Кеннеди (1961–1963) была утеряна. Эти разрушительные действия можно предотвратить, если хранить носители (отпечатки, негативы, картины, письменные документы) в условиях с контролируемым освещением, температурой и влажностью, но не предотвращать их.

С другой стороны, цифровые изображения не подвержены старению в смысле потери цвета или резкости. Однажды записанный, он существует без потери качества в течение всего срока службы носителя. Кроме того, в отличие от других носителей, возможно изготовление точных копий. Возможность делать копии без потери качества — важная характеристика цифровых носителей. Если бы потолок Сикстинской капеллы работы Микеланджело был записан в цифровом виде после завершения, его реставраторам не пришлось бы сегодня задаваться вопросом, восстановили ли они его в точных цветах и ​​линиях, созданных художником.
Вернуться к содержанию.
Требования к цвету и памяти
Традиционные телевизоры используют аналоговые сигналы для отображения изображений (синусоидальные сигналы). Компьютерные мониторы цифровые по своей природе. Изображение на мониторе состоит из рядов маленьких точек, называемых пикселями. С каждым пикселем связан цвет. с этим. Когда точки достаточно малы и расположены достаточно близко друг к другу, глаз воспринимает не точки, а непрерывное изображение. Типичная плотность записи для мониторов персональных компьютеров (ПК) включает 640 (по горизонтали) на 480 (по вертикали, стандартный VGA), 800 на 600 и 1024 на 768 (SVGA). Как правило, чем больше вы платите, тем выше разрешение и потенциальное качество изображения. Еще одним важным соображением является количество цветов, связанных с каждым пикселем. Монохромные экраны, например черно-белые или янтарно-черные, ассоциируют только два цвета с каждым пикселем. Другие распространенные ассоциации: 256 цветов на пиксель; 32 768 цветов; 65 536 цветов и 16 777 216 цветов на пиксель. Диапазон доступных цветов называется палитрой. Основное ограничение на размер палитры (количество цветов) традиционно было связано с объемом памяти, необходимой для хранения и/или отображения изображения. Компьютеры используют двоичную систему счисления для записи информации. Базовой единицей информации является «бит», который может хранить только два значения. Таким образом, для монохромных экранов требуется только один бит на пиксель. Для хранения более двух цветов на пиксель используются группы связанных битов. Например, чтобы связать 256 цветов с пикселем, требуется 8 бит (2**8 = 2 * 2 * 2 * 2 * 2 * 2 * 2 * 2 = 256); Для 32 766 цветов требуется 16 бит. На самом деле ситуация немного сложнее. Для представления цвета на экране каждый пиксель фактически состоит из трех цветовых компонентов: красного, зеленого и синего. Их часто называют значением RGB пикселя. Например, предположим, что значение (интенсивность) красного, зеленого и синего может принимать 256 значений (от 0 до 255) для пикселя. Значение RGB (255, 0, 0) будет означать красный пиксель, значение RGB (0, 255, 0) будет зеленым, а значение RGB (0, 0, 255) будет синим. RGB (255, 255, 255) — белый, (0, 0, 0) — черный. Изменение значения RGB трех цветовых элементов заставляет глаз воспринимать широкий диапазон цветов. Это означает, что (3 цвета) * (8 бит на цвет) = 24 бита для записи цвета для каждого пикселя. Общий диапазон цветов при 24 битах на пиксель (8 на значение RGB) составляет 256 * 256 * 256 = 16 777 216 цветов. Кроме того, многие мониторы сохраняют значение непрозрачности изображения, для которого требуется еще больше битов (обычно 8 бит). Непрозрачность указывает, какая часть изображения ниже текущего изображения может просвечиваться. В дополнение к предоставлению художнику свободы выражения, непрозрачность позволяет использовать цифровые водяные знаки для защиты материала от интеллектуальной кражи.

Вернуться к содержанию.
Вы можете поэкспериментировать со смешением цветов со следующим апплетом Java. Ваш дисплей может не поддерживать 16 777 216. Если он поддерживает меньше максимального количества цветов, он сопоставит указанный вами цвет с ближайшим цветом в его ограниченной палитре. Квадрат на экране должен быть розовым (RGB = 255, 175, 175), если ваш монитор настроен правильно и розовый цвет находится в палитре. Введите нужные значения для красного, зеленого и синего (от 0 до 255), а затем нажмите клавишу возврата, чтобы обновить экран.


Вернуться к содержанию.
Дизеринг
Многие программные пакеты используют процесс, называемый дизерингом, для создания большего количества цветов, чем позволяет текущая цветовая палитра. Основной процесс заключается в смешивании блоков пикселей разных цветов на вкус в чередующихся узорах.Вблизи эффект кажется лоскутным. На расстоянии глаз смешивает цвета, создавая эффект желания. Например, предположим, что монитор поддерживает только черный и белый цвета, а нам нужен серый. Чередование пикселей черного и белого может повлиять на желаемый оттенок серого. Больше черных пикселей для темно-серого, больше белых пикселей для более светлых оттенков серого. Если смотреть с достаточного расстояния, следующий рисунок будет казаться серым.

Вернуться к содержанию.
Разрешение и место для хранения
Вернемся к идее хранилища, необходимого для изображения. Старые компьютерные мониторы допускают всего 256 цветов в палитре. Предположим, у вас монитор с разрешением 640 на 480 пикселей и 256 цветами на пиксель. Отсюда следует 640 * 480 = 307 200 пикселей. Напомним, что для 256 значений требуется 8 бит памяти компьютера. Следовательно (307 200 пикселей) * (8 бит на пиксель) = 2 457 600 бит памяти. Обычный метод продажи компьютерной памяти — 8-битные группы, называемые байтами. Следовательно, для изображения потребуется (2 457 600 бит) / (8 бит на байт) = 307 200 байт компьютерной памяти. Если предположить, что 24 бита на пиксель (часто называемый истинным цветом), то для разрешения 800 на 600 потребуется 24 * 800 * 600 = 11 520 000 бит памяти или 11 520 000 / 8 = 1 440 000 байт памяти. Изображение, отображаемое или сохраняемое с разрешением 1024 на 768 и 24-битным цветом, потребует 2 359 296 байт памяти. Поскольку для отображения изображения требуется дополнительная информация, компьютерным графическим картам обычно требуется не менее 4 мегабайт памяти для получения удовлетворительных изображений. Высокопроизводительным системам может потребоваться 8 или даже 16 мегабайт памяти на изображение. Чем выше качество желаемого изображения, тем больше требуется места для хранения и, следовательно, выше стоимость записи изображения. В большинстве цифровых камер низкой и средней стоимости используется разрешение 640 * 480 = 307 200 пикселей или 800 * 600 = 480 000 пикселей с 24 битами на пиксель для записи цвета. Сканеры и принтеры обычно оцениваются по количеству точек (пикселей) на дюйм, которое они поддерживают.

Обратите внимание, что разрешение экрана (количество пикселей и цветов) определяет объем памяти, необходимый для "снимка экрана" из Интернета. Окончательный размер документа, содержащего изображения из Интернета, цифровых камер и сканеров, зависит от того, на какой скорости был снят или создан материал. Эти же аргументы применимы к определению требований к памяти для цифровых камер. Что происходит, когда изображение, первоначально снятое с разрешением 800 на 600 и 32 766 цветов, отображается на экране с разрешением 1024 на 768 и 16 777 216 цветов. Компьютер расширяет изображение, чтобы заполнить необходимое пространство. Как правило, более крупное изображение несколько теряет в качестве. Аналогичный эффект наблюдается при увеличении фотографии за пределами качества негатива.
Вернуться к содержанию.
Уменьшение глубины
-
Многие художественные программы позволяют пользователю уменьшить «глубину» изображения. В качестве типичного примера изображение из 16 777 216 цветов может быть уменьшено до изображения, содержащего 32 766 цветов или 256 цветов. В зависимости от изображения пользователь может не заметить разницу в качестве изображения. Это часто делается для уменьшения размера хранимого изображения или уменьшения объема информации, которая должна быть передана в удаленное место по средству связи. Обратите внимание, что после уменьшения и сохранения качество исходного изображения невозможно восстановить. В качестве примера рассмотрим две версии приведенной выше картинки. Картинка слева содержит 128 246 уникальных цветов. Изображение справа было получено путем сохранения исходного изображения с использованием палитры из 256 цветов. Программное обеспечение пыталось сопоставить каждый пиксель в палитре из 128 246 цветов с ближайшим соответствием в палитре из 256 цветов. Потеря цвета (детали) наиболее заметна на лепестках в правом нижнем углу изображения. При необходимости измените размер изображений, чтобы они располагались рядом в окне просмотра для сравнения.
Вернуться к содержанию.
Стандартные отраслевые форматы хранения
Файлы изображений хранятся на компьютерах в универсальных форматах, поэтому их можно передавать и интерпретировать различными типами аппаратного и программного обеспечения. Наиболее популярными форматами, используемыми в настоящее время в Интернете, являются формат обмена графикой (GIF или .jpg), Объединенная группа экспертов по фотографии (JPEG или .jpg) и формат файла изображения с тегами (TIFF или .tif). JPEG и GIF особенно популярны в Интернете. Как в формате GIF, так и в формате JPEG существует несколько вариантов хранения информации. Также существуют специальные форматы поставщиков, такие как BMP (битовое отображение, .bmp) на компьютерах с Microsoft Windows и PICT (.pic) на компьютерах Apple. Целью большинства форматов записи является уменьшение размера сохраняемого изображения. Например, многие программные пакеты, работающие под Microsoft Windows, поддерживают RLE (кодирование длин серий). В качестве конкретного примера (если вы позволите несколько вольностей с техническими деталями), строка или 20 красных пикселей в строке могут храниться как 20R, а не как RRRRRRRRRRRRRRRRRRRRRR.Чем больше избыточности в изображении, тем больше места можно сэкономить. Многие методы кодирования зависят от числовых процедур для уменьшения памяти. Хотя эти числовые процедуры намного эффективнее уменьшают размер хранимого изображения, они часто делают это за счет точности. Как показано на приведенных выше изображениях, потерю точности может быть трудно предсказать. Если бит время от времени теряется, человеческий глаз может не заметить эту потерю. Обратите внимание, что уменьшение количества цветов в изображении для экономии места не всегда может помочь. Изображение с количеством цветов менее или равным 256 можно сохранить в формате BMP, используя только 8 бит на пиксель. Если 0 < количество цветов < 16 777 216, BMP использует 24 бита на пиксель. Однако JPEG имеет тенденцию использовать 24 бита на пиксель независимо от количества сохраненных цветов. Однако вам может потребоваться меньше места для хранения, поскольку алгоритм сжатия работает с уменьшенным количеством цветов.

Растровое изображение сохраняется так же, как содержимое монитора компьютера хранится в видеопамяти. Изображение на экране монитора состоит из пикселей, подобно точкам на фотографии в газете. Количество пикселей, составляющих изображение на мониторе, определяет качество изображения (разрешение). Чем больше пикселей (например, 640 X 480; указано как число по горизонтали X по вертикали), тем выше разрешение. Пиксели изображения на экране представлены по-разному в зависимости от типа изображения/дисплея монитора.

Растровые монохромные изображения

В монохромном (черно-белом) изображении (как в примере слева) обычно требуется, чтобы каждый пиксель сохранялся как значение от 0 до 255 (байт). Где значение представляет оттенок серого пикселя. Для изображения в градациях серого 640 x 480 потребуется 307,2 КБ дискового пространства.

Артефакты растрового изображения

Одна из главных проблем представления растрового изображения заключается в том, что изображение нельзя легко масштабировать без появления артефактов изображения. Наиболее заметным артефактом является зубчатый эффект «вырезания печенья» или «ступенчатости» по краям объектов на изображениях. Этот побочный эффект, возникающий при масштабировании растровых изображений, называется алиасингом или ступенчатостью.

Чтобы увидеть применение этих эффектов (ступеньки, сглаживание и сглаживание), щелкните правой кнопкой мыши изображение в градациях серого выше и выберите "Сохранить изображение как" из всплывающее меню для сохранения изображения на жесткий диск.

[Загрузите и установите условно-бесплатную программу Paint Shop Pro, если она у вас еще не установлена.] Найдите приложение для обработки изображений Paint Shop Pro в меню Программа. Откройте сохраненный файл изображения в градациях серого в Paint Shop Pro. В меню Масштаб (расположенном под меню Файл) выберите коэффициент масштабирования 3:1. Изучите края, чтобы увидеть влияние неровностей, сглаживания и дизеринга, которое произошло из-за масштабирования. (Если вы не можете найти Paint Shop Pro, нажмите здесь, чтобы просмотреть изображение в масштабе 250% в новом окне браузера.)

Растровые изображения в градациях серого

В цветном изображении каждый пиксель представлен тремя значениями, по одному для каждого из основных цветов (красного, зеленого и синего — R G B ). На самом деле это аддитивные основные цвета; в то время как другие системы представления цветов существуют, это обсуждение будет касаться только системы RGB.> Размер цветного изображения зависит от количества сохраненных оттенков каждого основного цвета.

24-битные растровые цветные изображения

Еще один полустандарт, обеспечивающий фотографическое качество цвета, — это 24-битный цвет. Каждое значение пикселя представлено тремя байтами (по одному для каждого основного цвета RGB). Таким образом, для каждого пикселя возможно 256 различных оттенков красного, зеленого и синего; что дает 256 X 256 X 256 возможных комбинированных цветов (16 777 216). Для 24-битного цветного изображения с разрешением 640 X 480 потребуется 921,6 КБ памяти. (На самом деле большинство 24-битных изображений являются 32-битными. Дополнительный байт данных для каждого пикселя используется для хранения значения альфа-канала, представляющего информацию о специальном эффекте.)

Bpp или бит на пиксель обозначает количество бит на пиксель. Количество различных цветов в изображении зависит от глубины цвета или количества битов на пиксель.

Кратко о математике:

Это похоже на игру с двоичными битами.

Сколько чисел может быть представлено одним битом.

Сколько двухбитовых комбинаций можно составить.

Если мы придумаем формулу для расчета общего количества комбинаций, которые можно составить из бит, она будет такой.

Где bpp обозначает количество бит на пиксель.Подставьте 1 в формулу, получите 2, подставьте 2 в формулу, получите 4. Она растет экспоненциально.

Количество разных цветов:

Теперь, как мы сказали в начале, количество различных цветов зависит от количества битов на пиксель.

Таблица некоторых битов и их цвета приведены ниже.

В этой таблице показаны различные биты на пиксель и количество цвета, которое они содержат.

Оттенки

Вы можете легко заметить закономерность экспоненциального роста. Знаменитое изображение в оттенках серого имеет 8 бит на пиксель , что означает, что оно содержит 256 различных цветов или 256 оттенков.

Оттенки могут быть представлены как:

Цветные изображения обычно имеют формат 24 бит/пиксель или 16 бит/пиксель.

Мы узнаем больше о других цветовых форматах и ​​типах изображений в руководстве по типам изображений.

Цветовые значения:

Ранее мы видели в учебнике по понятию пикселя, что значение 0 пикселей обозначает черный цвет.

Черный цвет:

Помните, что значение 0 пикселей всегда соответствует черному цвету. Но не существует фиксированного значения, обозначающего белый цвет.

Белый цвет:

Значение, обозначающее белый цвет, можно рассчитать следующим образом:

В случае 1 бит/пиксель 0 – черный, 1 – белый.

В случае 8 бит/с 0 означает черный, а 255 – белый.

Серый цвет:

Когда вы вычисляете значение черного и белого цвета, вы можете вычислить значение пикселя серого цвета.

Серый цвет на самом деле является средней точкой черного и белого. При этом

В случае 8 бит на пиксель значение пикселя, обозначающее серый цвет, составляет 127 или 128 бит на пиксель (если считать от 1, а не от 0).

Требования к хранению изображений

После обсуждения количества бит на пиксель у нас есть все, что нужно для расчета размера изображения.

Размер изображения

Размер изображения зависит от трех факторов.

  • Количество строк
  • Количество столбцов
  • Количество бит на пиксель

Формула расчета размера приведена ниже.

Размер изображения = количество строк * столбцов * бит/пиксель

Это означает, что если у вас есть изображение, скажем, вот это:

Предположим, что в нем 1024 строки и 1024 столбца. И поскольку это изображение в градациях серого, оно имеет 256 различных оттенков серого или количество битов на пиксель. Затем подставляя эти значения в формулу, получаем

Размер изображения = количество строк * столбцов * бит/пиксель

Но поскольку это не стандартный ответ, который мы распознаем, мы преобразуем его в наш формат.

Преобразование в байты = 8388608 / 8 = 1048576 байт.

Перевод в килобайты = 1048576 / 1024 = 1024 КБ.

Перевод в мегабайты = 1024/1024 = 1 Мб.

Так рассчитывается размер изображения и сохраняется. Теперь в формуле, если вам задан размер изображения и количество бит на пиксель, вы также можете вычислить строки и столбцы изображения, если изображение квадратное (одинаковые строки и один и тот же столбец).

Читайте также:

Бит на пиксель Количество цветов
1 бит на пиксель 2 цвета
2 бита на пиксель 4 цвета
3 бита на пиксель 8 цветов
4 бита на пиксель 16 цветов
5 бит на пиксель 32 цвета
6 бит на пиксель 64 цвета
7 бит на пиксель 128 цветов
8 бит на пиксель 256 цветов
10 бит на пиксель 1024 цвета
16 бит на пиксель 65536 цветов
24 бит на пиксель 16777216 цветов (16,7 миллиона цветов)
32 бита на пиксель 4294967296 цветов (4294 миллиона цветов)