"Информатика (базовый уровень)", Угринович Н.Д.
Цифровое изображение хранится как набор данных, по которым компьютер восстанавливает его вид. В растровой графике это цветные точки-пиксели, а в векторной — геометрические объекты и их параметры. Число пикселей определяет разрешение, а количество бит на пиксель — глубину цвета. Эти величины помогают оценить объём файла и понять, почему фотография при увеличении теряет чёткость, а рисунок из фигур обычно сохраняет её.
Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.
Пиксель — минимальный элемент растрового изображения, которому назначен определённый цвет. Множество пикселей, расположенных строками и столбцами, складывается в целую картинку. Издалека отдельные точки обычно не различимы, и глаз воспринимает их как изображение. Пиксели нужны компьютеру, чтобы хранить и выводить изображение поэлементно.
Разрешение изображения — число пикселей по горизонтали и вертикали. Запись 1920 × 1080 означает, что изображение имеет 1920 пикселей в каждой строке и 1080 строк. Произведение этих чисел показывает общее количество пикселей. Разрешение помогает оценить детализацию изображения и число элементов, которые нужно закодировать.
Глубина цвета — число бит, отводимое для кодирования цвета одного пикселя. Если на пиксель выделено k бит, можно задать 2ᵏ разных вариантов цвета. Например, 8 бит дают 256 вариантов. Глубина цвета позволяет понять, насколько разнообразную палитру можно представить, и влияет на объём файла.
Растровая графика хранит изображение как данные о цвете отдельных пикселей, а векторная графика — как описание геометрических объектов и их параметров. Для растра важны размеры сетки и цвета её элементов; для вектора — формы, координаты, линии и заливки. Поэтому одинаково выглядящие изображения могут храниться совершенно по-разному. Это различие помогает выбрать подходящий способ представления.
Чтобы перевести изображение в растровую форму, его представляют в виде сетки из строк и столбцов. Каждая ячейка этой сетки становится пикселем, а программе нужно определить и записать его цвет. Чем больше пикселей приходится на изображение, тем мельче детали можно передать. Если сетка слишком редкая, мелкие элементы теряются, потому что для них не хватает отдельных точек.
Цвет пикселя компьютер кодирует двоичным числом, состоящим из битов. При k битах каждый пиксель может иметь 2ᵏ кодов, так как у каждого бита есть два значения — 0 и 1. Например, 4 бита дают 16 комбинаций, а 8 бит — 256. Увеличение глубины цвета расширяет палитру, поскольку под каждый пиксель выделяется больше возможных кодов.
В несжатом растре нужно сохранить цвет каждого пикселя, поэтому объём зависит от двух величин: общего количества пикселей и глубины цвета. Количество пикселей находят умножением ширины на высоту, а затем результат умножают на число бит для одного пикселя. Так получают объём в битах. Если увеличить разрешение или глубину цвета, данных станет больше, потому что придётся описать больше элементов или хранить больше информации о каждом из них.
Растровая модель удобна для фотографий: в них много мелких деталей и плавных переходов цвета, которые можно передать множеством цветных точек. В векторной модели изображение задают объектами — например, линиями, окружностями и многоугольниками — и их параметрами. Программа хранит не каждую точку готовой картинки, а описание того, как построить эти фигуры. Такой способ подходит для схем и логотипов, где важны чёткие контуры.
При увеличении растра исходная сетка не получает новых деталей: уже имеющиеся пиксели просто занимают большую площадь. Поэтому границы могут выглядеть ступенчатыми, а изображение — менее чётким. Векторная программа при изменении масштаба заново рассчитывает положение и форму объектов. Благодаря этому линии и контуры обычно остаются гладкими, хотя качество вектора также зависит от того, как его затем выводят на экран или печать.
Таблица помогает быстро сопоставить, какие данные хранятся в двух форматах и как они ведут себя при масштабировании. Используйте её при выборе формата: учитывайте характер изображения и то, понадобится ли изменять его размер.
| Свойство | Растровая графика | Векторная графика |
|---|---|---|
| Как представлено изображение | Сетка пикселей | Набор геометрических объектов |
| Основные составляющие данных | Цвет каждого пикселя | Формы, координаты и параметры объектов |
| Что происходит при увеличении масштаба | Пиксели становятся заметнее, чёткость снижается | Объекты перестраиваются; обычно чёткость сохраняется |
| Для каких изображений подходит | Фотографии и изображения со сложными переходами цвета | Схемы, логотипы, чертежи и рисунки из фигур |
| От чего зависит размер файла | От числа пикселей, глубины цвета и сжатия | От количества и сложности объектов и их описаний |
Задача 1. Изображение размером 800 × 600 пикселей кодируется с глубиной цвета 24 бита. Найдём объём несжатых данных в байтах и килобайтах. Сначала определим число пикселей, затем умножим его на глубину цвета. Переведём итог из битов в байты и килобайты.
Ответ: 1 440 000 байт, или 1406,25 Кбайт. Деление на 8 обязательно, потому что глубина дана в битах, а в одном байте 8 бит.
Задача 2. На изображение 640 × 480 пикселей отведено 153 600 байт без сжатия. Определим глубину цвета и максимальное число цветов. Чтобы найти глубину, общий объём сначала переведём в биты, а затем разделим на количество пикселей. После этого применим формулу 2ᵏ.
Ответ: глубина цвета равна 4 битам на пиксель, можно закодировать до 16 цветов. Здесь предполагается, что все данные файла заняты пикселями и не требуется место для дополнительной информации.
Задача 3. Сравним объём несжатых данных двух изображений: 1200 × 800 пикселей с глубиной 16 бит и 800 × 600 пикселей с глубиной 32 бита. Для каждого найдём число бит по одной формуле. Затем сравним результаты в одинаковых единицах, разделив больший объём на меньший.
Ответ: изображения занимают одинаковый объём несжатых данных, ни одно не больше; отношение равно 1. У первого больше пикселей, но у второго выше глубина цвета, и эти различия взаимно компенсируются.
Путают разрешение с глубиной цвета. Разрешение отвечает за число пикселей по ширине и высоте, а глубина — за число бит для кодирования цвета одного пикселя. Путаница возникает потому, что обе характеристики описывают качество изображения, но по-разному. Проверьте себя: разрешение записывают парой чисел вроде 1920 × 1080, а глубину — в битах на пиксель.
Забывают умножить количество пикселей на глубину цвета. В таком случае посчитано лишь число точек, а не объём данных: для каждой точки ещё нужно сохранить цвет. Ошибка возникает, если воспринимать разрешение как готовый размер файла. Проверьте вычисление по формуле: ширина × высота × биты на пиксель.
Путают биты и байты. После умножения на глубину цвета объём обычно получается в битах, но его могут записать как байты без пересчёта. Это даёт результат в восемь раз больше или меньше нужного. Перед ответом проверьте единицы: биты делят на 8, чтобы получить байты.
Считают, что увеличение любого изображения ухудшает качество. Такое ожидание переносят на вектор из опыта с фотографиями, хотя способы хранения у них различны. В растр при увеличении становятся заметны исходные пиксели, а векторные объекты обычно можно перестроить в новом масштабе. Для самопроверки выясните, хранит ли файл пиксели или описание геометрических фигур.
Для расчётов нужны знания о двоичном кодировании и единицах измерения объёма данных. В частности, важно помнить, что байт состоит из 8 бит, а перевод в килобайты обычно выполняют делением на 1024. Эти действия позволяют перейти от формулы объёма к привычным единицам.
Разрешение и глубина цвета помогают оценивать, сколько места займёт изображение, и выбирать параметры цифровой камеры или экрана. Это связывает кодирование с практической работой с файлами и устройствами. Большие значения этих параметров могут давать больше деталей или оттенков, но требуют больше данных.
Различие растра и вектора пригодится при работе с графическими редакторами и форматами файлов. Оно помогает выбрать подходящий тип изображения для экрана, дальнейшего масштабирования или печати. Например, для фотографии обычно выбирают растр, а для логотипа, который понадобится печатать в разных размерах, часто удобен вектор.
Почему растровое изображение становится нечётким при увеличении?
Растр состоит из пикселей, и при увеличении каждый из них занимает больше места. Новых деталей при этом не появляется, поэтому границы объектов выглядят ступенчатыми или размытыми.
Сколько цветов можно закодировать при глубине цвета 8 бит?
Число вариантов равно 2 в степени глубины цвета: 2⁸ = 256. Значит, при 8 битах на пиксель можно закодировать 256 цветов.
Как вычислить объём несжатого растрового изображения?
Умножьте ширину в пикселях на высоту и на глубину цвета в битах на пиксель. Полученное число бит разделите на 8, чтобы получить байты; для килобайтов разделите байты на 1024.
Чем разрешение изображения отличается от глубины цвета?
Разрешение показывает, сколько пикселей расположено по горизонтали и вертикали. Глубина цвета показывает, сколько бит отведено для кодирования цвета каждого пикселя.
Когда лучше использовать векторную графику, а когда растровую?
Растровая графика подходит для фотографий и изображений со множеством плавных переходов цвета. Векторная удобна для логотипов, схем и рисунков из геометрических фигур, которые нужно масштабировать без потери чёткости.
1.2. Кодирование и обработка графической информации