Монитор позволяет получить на экране 65 536 цветов, сколько требуется памяти в байтах
Обновлено: 21.11.2024
Основы работы с цифровыми изображениями
Содержание:
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 бита на пиксель независимо от количества сохраненных цветов. Однако вам может потребоваться меньше места для хранения, поскольку алгоритм сжатия работает с уменьшенным количеством цветов.
Доступный объем ОЗУ для кадрового буфера может ограничивать разрешение, которое можно получить на цветных или полутоновых дисплеях. Вероятно, это не влияет на дисплеи, которые имеют только два цвета: белый и черный, без промежуточных оттенков серого.
Для 256-цветных дисплеев требуется байт видеопамяти для отображения каждой видимой точки. Этот байт содержит информацию, которая определяет, какое сочетание красного, зеленого и синего генерируется для его точки. Чтобы получить требуемый объем памяти, умножьте количество видимых точек в строке на количество видимых строк. Для дисплея с разрешением 1024x768 это будет 1024x768 = 786432, то есть количество видимых точек на дисплее. Это также, по одному байту на точку, количество байтов видеопамяти, которое потребуется на вашей плате адаптера.
Таким образом, требования к памяти обычно составляют (HR * VR)/1024 Кбайт видеопамяти, округленное в большую сторону (в данном примере это будет 768 Кбайт). Если у вас больше памяти, чем требуется, у вас будет дополнительная память для панорамирования виртуального экрана.
Однако, если на вашей видеокарте установлено только 512 КБ, вы не сможете использовать это разрешение. Даже если у вас хороший монитор, без достаточного количества видеопамяти вы не сможете воспользоваться его потенциалом. С другой стороны, если ваш SVGA имеет один мегабайт, но ваш монитор может отображать не более 800x600, то высокое разрешение в любом случае вам недоступно (возможное решение проблемы см. в разделе Использование чересстрочных режимов).
Не беспокойтесь, если у вас больше памяти, чем требуется; X-сервер будет использовать его, позволяя вам прокручивать область просмотра (см. документацию файла Xconfig о параметре размера виртуального экрана). Помните также, что на карте с 512 КБ памяти на самом деле установлено не 512 000 байт, а 512 x 1024 = 524 288 байт.
Если вы используете X/Inside с картой S3 и готовы работать с 16 цветами (4 бита на пиксель), вы можете установить глубину 4 в Xconfig и фактически удвоить разрешение, которое может поддерживать ваша карта. Карты S3, например, обычно имеют разрешение 1024x768x256. Вы можете сделать их 1280 x 1024 x 16 с глубиной 4.
Bpp или бит на пиксель обозначает количество бит на пиксель. Количество различных цветов в изображении зависит от глубины цвета или количества битов на пиксель.
Кратко о математике:
Это похоже на игру с двоичными битами.
Сколько чисел может быть представлено одним битом.
Сколько двухбитовых комбинаций можно составить.
Если мы придумаем формулу для расчета общего количества комбинаций, которые можно составить из бит, она будет такой.
Где bpp обозначает количество бит на пиксель. Подставьте 1 в формулу, получите 2, подставьте 2 в формулу, получите 4. Она растет экспоненциально.
Количество разных цветов:
Теперь, как мы сказали в начале, количество различных цветов зависит от количества битов на пиксель.
Таблица некоторых битов и их цвета приведены ниже.
Бит на пиксель | Количество цветов |
---|---|
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 миллиона цветов) | тр> таблица>