Масштабирование изображений

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

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

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

• одновременное изменение размеров всех пикселов (в большую или меньшую сто­рону); добавление или убавление пикселов из рисунка для отражения производимых в нем изменений, называемое выборкой пикселов в изображении.

Простейший способ изменения масштаба растрового рисунка состоит в изменении размера всех его пикселов. Так как внутри самого рисунка пикселы не имеют размера и приобретают его уже при выводе на внешнее устройство, то изменение размера пиксе­лов растра в сильной степени похоже на масштабирование векторных объектов — необ­ходимо сменить только описание пиксела, а остальное выполнит устройство вывода.

Устройство вывода для создания пиксела определенного физического размера ис­пользует столько своих минимальных элементов (лазерных точек — для лазерного принтера, видеопикселов — для монитора), сколько сможет. При масштабировании изображения количество входящих в него пикселов не меняется, а изменяется коли­чество создаваемых устройством вывода элементов, идущих на построение отдельно­го пиксела изображения. На рис.3 показан пример масштабирования растрового изображения — увеличения его в два раза по каждому измерению.

Масштабирование изображений - student2.ru

Рис..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 а.

Масштабирование изображений - student2.ru

а) Аддитивный цвет б) Субтрактивный цвет

Рис..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, описывающие этот цвет.

Наши рекомендации