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

Разрешающая способность

Разрешающая способность – это количество элементов в заданной области. Этот термин применим ко многим понятиям, например, таким как:

· разрешающая способность графического изображения;

· разрешающая способность принтера как устройства вывода;

· разрешающая способность мыши как устройства ввода.

Например, разрешающая способность лазерного принтера может быть задана 300 dpi (dot per inche – точек на дюйм), что означает способность принтера напечатать на от­резке в один дюйм 300 отдельных точек. В этом случае элементами изображения явля­ются лазерные точки, а размер изображения измеряется в дюймах.

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

Разрешающая способность технических устройств по–разному влияет на вывод век­торной и растровой графики.

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

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

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

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

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

· одновременное изменение размеров всех пикселов (в большую или меньшую сто­рону);

· добавление или убавление пикселов из рисунка для отражения производимых в нем изменений, называемое выборкой пикселов в изображении.

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

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

Рисунок 3.1 – Масштабирование растрового изображения

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

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

3.4 Текстура изображения

Под текстурой понимают специфический характер тона (цвета) в изображении объек­та или на его фрагменте. К текстуре также относят наличие на изображении характер­ных линий.

Текстура может представлять упорядоченный характер тона в виде геометрически правильных или почти правильных рисунков. Подобную текстуру имеют, например, кир­пичная кладка, кафельная облицовка, шахматная доска и так далее. Другой тип – стоха­стическая структура. Она присуща естественным объектам и, как правило, является след­ствием шероховатости наблюдаемых объектов.

Одним из принципов формирования текстуры изображения является перенос ре­гулярного или стохастического рисунка на поверхность объекта. Для нанесения ри­сунка необходимо решить задачу преобразования систем координат. Если рисунок задан в пространстве текстуры в системе координат (u,w), а поверхность – в системе координат (x, y), то для переноса рисунка нужно найти или задать функцию отобра­жения одного пространства на другое, т. е. определить соотношения x = f1(u, w), y = f2(и, w).

Во многих практических случаях функции отображения линейны: x=Au+Bw+C, y=Du+Ew+F. Коэффициенты A, В, С, D, Е, F вычисляются из соотношений между известными точками в системе координат.

Характерные точки узора из пространства текстуры переносятся в объектное про­странство, затем в пространство изображений и определенным образом соединяются отрезками прямых. В процедурах нанесения узоров часто используется разбиение по­верхностей и узоров на фрагменты.

При переносе на поверхность предмета текстуры, представляющей непрерывное ре­гулярное и случайное поле яркости, наиболее подходящим является метод обратного трассирования лучей. Центр каждого пиксела изображения проецируется на поверх­ность предмета и по координатам точки на поверхности определяется соответствующая ей точка в пространстве текстуры. Чтобы устранить эффекты, связанные с простран­ственной дискретизацией, используют процедуры сглаживания. Достаточно простой процедурой сглаживания является трассирование четырех точек, соответствующих у­глам пиксела, и использование среднего значения яркости текстуры для этих четырех точек. Использование четырех точек пиксела позволяет оценивать достаточность про­цедуры сглаживания. Если разность яркостей для указанных четырех точек больше не­которой пороговой величины, можно произвести разбиение пиксела на четыре части и более точно вычислить яркость для пиксела.

Формирование стохастических текстурных полей, близких к естественным, представ­ляет сложную в вычислительном отношении процедуру. Для синтеза текстур предпоч­тительным считаются авторегрессионная модель и модели с использованием методов линейного программирования. Синтез осуществляется с использованием статистических характеристик текстур-прототипов: плотности вероятности и автокорреляционной фун­кции. Для определения плотности вероятности в пределах некоторого окна измеряют гистограмму и для ее отображения используют первые четыре момента – среднее значение, стандартное отклонение, ассиметрию и эксцесс. Форму автокорреляционной функцию выражают через ее четыре центральных пространственных момента. В результате формируется восьмимерный вектор признаков текстуры. Наряду с описанным основ­ным вариантом определения параметров, характеризующих стохастическую текстуру, используют ряд упрощенных процедур, обеспечивающих снижение вычислительных затрат. Синтезированные на основе прототипов стохастические текстуры хорошо моделируют естественные шероховатые поверхности, если они обладают сравнительно небольшой кривизной.

Для поверхностей со значительной кривизной (шар, эллипсоид и близкие к ним) перенос на них даже стохастической текстуры не обеспечивает их реалистичного вида. Возникает ощущение, что текстура нарисована на гладкой поверхности. Причина этого заключается в том, что текстура, сформированная без учета формы объекта, не передает изменений освещенности, обусловленных рельефом поверхности. Для реальных шероховатых поверхностей вектор нормали содержит небольшую случайную составляющую, которая определяет характер изменения освещенности в изображении. Чтобы получить изображение, близкое к реалистичному, необходимо смоделировать именно этот фактор. В методе моделирования рельефа поверхности Q(u,w) с помощью вспомогательной функции F(u,w) в направлении нормали к поверхности вносится возмущение, что при­водит к изменению отражения от элементов вновь образованной поверхности.



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: