Масштабирование изображений
Масштабирование заключается в изменении вертикального и горизонтального размеров изображения. Масштабирование может быть пропорциональным — в этом случае соотношение между высотой и шириной рисунка не изменяется, а меняется общий размер, и непропорциональным — в этом случае оба измерения изменяются по-разному
Масштабированиевекторных рисунков выполняется просто и без потери качества. Так как объекты векторной графики создаются по их описаниям, то для изменения масштаба векторного объекта, достаточно изменить его описание. Например, чтобы увеличить в два раза векторный объект, следует удвоить значение, описывающее его размер.
Масштабированиерастровых рисунков является намного более сложным процессом, чем для векторной графики, и часто сопровождается потерей качества. При изменении размеров растрового изображения выполняется одно из следующих действий:
• одновременное изменение размеров всех пикселов (в большую или меньшую сторону); добавление или убавление пикселов из рисунка для отражения производимых в нем изменений, называемое выборкой пикселов в изображении.
Простейший способ изменения масштаба растрового рисунка состоит в изменении размера всех его пикселов. Так как внутри самого рисунка пикселы не имеют размера и приобретают его уже при выводе на внешнее устройство, то изменение размера пикселов растра в сильной степени похоже на масштабирование векторных объектов — необходимо сменить только описание пиксела, а остальное выполнит устройство вывода.
Устройство вывода для создания пиксела определенного физического размера использует столько своих минимальных элементов (лазерных точек — для лазерного принтера, видеопикселов — для монитора), сколько сможет. При масштабировании изображения количество входящих в него пикселов не меняется, а изменяется количество создаваемых устройством вывода элементов, идущих на построение отдельного пиксела изображения. На рис.3 показан пример масштабирования растрового изображения — увеличения его в два раза по каждому измерению.
Рис..3. Масштабирование растрового изображения
Выборка растрового рисунка может быть сделана двумя различными способами. По первому способу просто дублируется или удаляется необходимое количество пикселов. При этом в результате масштабирования, как правило, ухудшается качество изображения. Например, при увеличении размера рисунка возрастают его зернистость и дискретность. При уменьшении размера рисунка потери в качестве не столь заметны, однако при последующем восстановлении уменьшенного рисунка до прежнего размера опять возрастают зернистость и дискретность. Это связано с тем, что при уменьшении размера рисунка часть пикселов была удалена из исходного изображения и потеряна безвозвратно, а при последующем восстановлении размеров рисунка недостающие пикселы дублировались из соседних.
По второму способу с помощью определенных вычислений можно создать пикселы другого цвета, определяемого цветами первоначального пиксела и его окружения. Этот метод называется интерполяцией и является более сложным, чем простое дублирование. При интерполяции кроме дублируемых пикселов, отбираются и соседние с ними, с помощью которых вновь создаваемые пикселы получают от существующих усредненный цвет или оттенок серого. В результате переходы между пикселами становятся более плавными, что позволяет убрать или уменьшить эффект «пилообразности» изображения.
4. Текстура изображения
Подтекстурой понимают специфический характер тона (цвета) в изображении объекта или на его фрагменте. К текстуре также относят наличие на изображении характерных линий.
Текстура может представлять упорядоченный характер тона в виде геометрически правильных или почти правильных рисунков. Подобную текстуру имеют, например, кирпичная кладка, кафельная облицовка, шахматная доска и так далее. Другой тип — стохастическая структура. Она присуща естественным объектам и, как правило, является следствием шероховатости наблюдаемых объектов.
Одним из принципов формирования текстуры изображения является перенос регулярного или стохастического рисунка на поверхность объекта. Для нанесения рисунка необходимо решить задачу преобразования систем координат. Если рисунок задан в пространстве текстуры в системе координат (u,w), а поверхность — в системе координат (9, (р), то для переноса рисунка нужно найти или задать функцию отображения одного пространства на другое, т. е. определить соотношения в = f(u, w), (p = д(и, w).
Во многих практических случаях функции отображения линейны: в =Au+Bw+C, <р =Du+Ew+F. Коэффициенты-4, В, С, D, Е, Рвычисляются из соотношений между известными точками в системе координат.
Характерные точки узора из пространства текстуры переносятся в объектное пространство, затем в пространство изображений и определенным образом соединяются отрезками прямых. В процедурах нанесения узоров часто используется разбиение поверхностей и узоров на фрагменты.
При переносе на поверхность предмета текстуры, представляющей непрерывное регулярное и случайное поле яркости, наиболее подходящим является метод обратного трассирования лучей. Центр каждого пиксела изображения проецируется на поверхность предмета и по координатам точки на поверхности определяется соответствующая ей точка в пространстве текстуры. Чтобы устранить эффекты, связанные с пространственной дискретизацией, используют процедуры сглаживания. Достаточно простой процедурой сглаживания является трассирование четырех точек, соответствующих улам пиксела, и использование среднего значения яркости текстуры для этих четырех точек. Использование четырех точек пиксела позволяет оценивать достаточность процедуры сглаживания. Если разность яркостей для указанных четырех точек больше некоторой пороговой величины, можно произвести разбиение пиксела на четыре части и более точно вычислить яркость для пиксела.
Формирование стохастических текстурных полей, близких к естественным, представляет сложную в вычислительном отношении процедуру. Для синтеза текстур предпочтительным считаются авторегрессионная модель и модели с использованием методов линейного программирования. Синтез осуществляется с использованием статистических характеристик текстур-прототипов: плотности вероятности и автокорреляционной функции. Для определения плотности вероятности в пределах некоторого окна измеряют гистограмму и для ее отображения используют первые четыре момента — среднее значение, стандартное отклонение, ассиметрию и эксцесс. Форму автокорреляционной функцию выражают через ее четыре центральных пространственных момента. В результате формируется восьмимерный вектор признаков текстуры. Наряду с описанным основным вариантом определения параметров, характеризующих стохастическую текстуру, используют ряд упрощенных процедур, обеспечивающих снижение вычислительных затрат. Синтезированные на основе прототипов стохастические текстуры хорошо моделируют естественные шероховатые поверхности, если они обладают сравнительно небольшой кривизной.
Для поверхностей со значительной кривизной (шар, эллипсоид и близкие к ним) перенос на них даже стохастической текстуры не обеспечивает их реалистичного вида. Возникает ощущение, что текстура нарисована на гладкой поверхности. Причина этого заключается в том, что текстура, сформированная без учета формы объекта, не передает изменений освещенности, обусловленных рельефом поверхности. Для реальных шероховатых поверхностей вектор нормали содержит небольшую случайную составляющую, которая определяет характер изменения освещенности в изображении. Чтобы получить изображение, близкое к реалистичному, необходимо смоделировать именно этот фактор. В методе моделирования рельефа поверхности Q(u,w) с помощью вспомогательной функции F(u,w) в направлении нормали к поверхности вносится возмущение, что приводит к изменению отражения от элементов вновь образованной поверхности.
5. Системы цветов .
Как известно, естественный белый свет разлагается в цветной спектр. В видимом спектре содержатся миллионы различных цветов, разница между которыми зачастую практически неощутима невооруженным глазом. Если луч света состоит из волн разной длины (белый содержит все), наш глаз смешивает их в одну. Однако, принято классифицировать спектр белого света на семь цветов: красный, оранжевый, желтый, зеленый, голубой, синий и фиолетовый.
Излучаемый свет - это свет, выходящий из активного источника, например, солнца или экрана монитора.
Отраженный свет - это свет, “отскочивший” от поверхности объекта. Именно его мы видим, когда смотрим на какой-либо предмет, не излучающий своего собственного света. Некоторые волны излученного света поглощаются объектом, поэтому глазом воспринимаются только не поглощенные, отраженные волны. Таким образом, когда предметы отражают свет, их цвет определяется цветом падающего на света и цветом, который эти объекты отражают. Белый листок бумаги выглядит белым потому, что он отражает все цвета в белом свете и ни один не поглощает.
Так как цвет может получиться и в процессе излучения, в процессе отражения, то существуют два противоположных метода его описания: системы аддитивных и субтрактивных цветов.
Существуют два метода описания цвета: система аддитивных и субтрактивных цветов.
Система аддитивных цветов работает с излучаемым светом. Аддитивный цвет получается при объединении разноцветных лучей света. В системе используются три основных цвета: красный, зеленый и синий (Red, Green, Blue —RGB). При смешивании их в разных пропорциях получается соответствующий цвет. Отсутствие этих цветов представляет в системе черный цвет, а присутствие всех - белый. Схематично смешение цветов показано на рис. 2 а.
а) Аддитивный цвет б) Субтрактивный цвет
Рис..2. Система смешения цветов
В системе субтрактивных цветов происходит обратный процесс: какой-либо цвет получается вычитанием других цветов из общего луча света. При этом белый цвет получается в результате отсутствия всех цветов, а присутствие всех цветов дает черный цвет. Система субтрактивных цветов работает с отраженным цветом, например, от листа бумаги. Белая бумага отражает все цвета, окрашенная — некоторые поглощает, остальные отражает.
В системе субтрактивных цветов основными являются голубой, пурпурный и желтый цвета (Cyan, Magenta, Yellow —CMY) — дополнительные красному, зеленому и синему. Когда эти цвета смешивают на бумаге в равной пропорции, получается черный цвет. Этот процесс проиллюстрирован на рис. 2б. В связи с тем, что типографские краски не полностью поглощают свет, комбинация трех основных цветов выглядит темно-коричневой. Поэтому для корректировки тонов и получения истинно черного цвета в принтеры добавляют немного черной краски. Системы цветов, основанные на таком принципе четырехцветной печати, обозначают аббревиатуройCMYK (Cyan, Magenta, Yellow, ЫасК).
Системы цветов HSB и HSL.
Существуют и другие системы кодирования цветов, например, представление его в виде тона, насыщенности и яркости (Hue, Saturation, Brightness —HSB). Другое обозначение системы HSB— HSL (Hue, Saturation, Light — тон, насыщенность и освещенность).
Тон представляет собой конкретный оттенок цвета, отличный от других: красный, голубой, зеленый и т. п. Насыщенность характеризует относительную интенсивность цвета.
При уменьшении, например, насыщенности красного цвета, он делается более пастельным или блеклым. Яркость (или освещенность) цвета показывает величину черного оттенка, добавляемого к цвету, что делает его более темным. Система HSB хорошо согласуется с моделью восприятия цвета человеком. Тон является эквивалентом длины волны света, насыщенность — интенсивности волны, а яркость — общего количества света. Недостатком этой системы является необходимость преобразования ее в другие системы: RGB — при выводе изображения на монитор; CMYK — при выводе на четырехцветный принтер.
Система HSB имеет перед другими системами важное преимущество: она больше соответствует природе цвета. Недостатком этой системы является то, что для работы на мониторах компьютеров ее необходимо преобразовать в систему RGB, а для четырехцветной печати - в CMYK.
Использование палитры цветов.
Рассмотренные системы работают со всем спектром цветов — миллионами возможных оттенков. Однако пользователю часто достаточно не более нескольких сотен цветов. В этом случае удобно использоватьиндексированные палитры — наборы цветов, содержащие фиксированное количество цветов, например, 16 или 256, из которых можно выбрать необходимый цвет. Преимуществом таких палитр является то, что они занимают гораздо меньше памяти, чем полные системы RGB и CMYK.
При работе с изображением компьютер создает палитру и присваивает каждому цвету номер, затем при указании цвета отдельного пиксела или объекта просто запоминается номер, который имеет данный цвет в палитре. Для запоминания числа от 1 до 16 необходимо 4 бита памяти, а от 1 до 256 — 8 битов, поэтому изображения, имеющие 16 цветов называют 4-битовыми, а 256 цветов — 8-битовыми. При сравнении с 24 битами, необходимыми для хранения полного цвета в системе RGB, или с 32 битами — в системе CMYK, экономия памяти очевидна.
При работе с палитрой можно применять любые цвета, например, системы RGB, но ограниченное их количество. Компьютер, а именно его объем видеопамяти, накладывает ограничения на это бесконечное разнообразие. Так, при использовании 256-цветовой палитры в процессе ее создания и нумерации каждый цвет в палитре описывается как обычный 24-битовый цвет системы RGB. А при ссылке на какой-либо цвет уже указывается его номер, а не конкретные данные системы RGB, описывающие этот цвет.