1.6. ТЕКСТУРА ИЗОБРАЖЕНИЯПод текстурой понимают специфические изменения тона (цвета) в изображении объекта или его некоторой части. К текстуре относят также наличие на изображении характерных линий. Наряду с термином "текстура" широко используются такие, как "узор", "рисунок", "фактура". Текстура может представлять упорядоченное изменение тона в виде геометрически правильных или почти правильных рисунков. Подобную текстуру имеют, например, кирпичная кладка, кафельная облицовка, специально раскрашенные поверхности: шахматная доска, пешеходный переход и т.д. Другой тип – стохастическая текстура. Она присуща естественным объектам и, как правило, является следствием шероховатости наблюдаемых объектов. Одним из основных принципов формирования текстуры изображения является перенос регулярного или стохастического рисунка на поверхность объекта. Этот подход и его различные варианты излагаются в ряде работ, краткий обзор которых приведен в [49]. Для нанесения рисунка необходимо решить задачу преобразования систем координат. Если рисунок задан в пространстве текстуры в системе координат , а поверхность – в системе координат , то для переноса рисунка нужно найти или задать функцию отображения одного пространства на другое, т.е. определить соотношения , или , . Во многих практических случаях функции отображения линейны: , . Коэффициенты вычисляются из соотношений между известными точками в системе координат. Характерные точки узора из пространства текстуры переносятся в объектное пространство, затем в пространство изображений и определенным образом соединяются отрезком прямых. В процедурах нанесения узоров часто используется разбиение как поверхностей, так и узоров на фрагменты. При переносе на поверхность предмета текстуры, представляющей непрерывное регулярное или случайное поле яркости, наиболее подходящим является метод обратного трассирования лучей. Центр каждого пиксела изображения проецируется на поверхность предмета, и по координатам точки на поверхности определяется соответствующая ей точка в пространстве текстуры. Чтобы устранить эффекты, связанные с пространственной дискретизацией, используют процедуры сглаживания. Достаточно простой процедурой сглаживания является трассирование четырех точек, соответствующих углам пиксела, и использование среднего значения яркости текстуры для этих четырех точек. Использование четырех точек пиксела позволяет оценивать достаточность процедуры сглаживания. Если разность яркостей для указанных четырех точек больше некоторой пороговой величины, можно произвести разбиение пиксела на четыре части и более точно вычислить яркость для данного пиксела. Формирование стохастических текстурных полей, близких к естественным, представляет сложную в вычислительном отношении процедуру [46]. Для синтеза текстур предпочтительными считаются авторегрессионная модель и модели с использованием методов линейного программирования. Синтез осуществляется с использованием статистических характеристик текстур-прототипов: плотности вероятности и автокорреляционной функции. Для определения плотности вероятности в пределах некоторого окна измеряют гистограмму и для ее отображения используют первые четыре момента – среднее значение, стандартное отклонение, ассиметрию и эксцесс. Форму автокорреляционной функции выражают через ее четыре центральных пространственных момента. В результате формируется восьмимерный вектор признаков текстуры. Наряду с описанным основным вариантом определения параметров, характеризующих стохастическую текстуру, используют ряд упрощенных процедур, обеспечивающих снижение вычислительных затрат. Синтезированные на основе прототипов стохастические текстуры хорошо моделируют естественные шероховатые поверхности, если они обладают сравнительно небольшой кривизной. Для поверхностей со значительной кривизной (шар, эллипсоид и близкие к ним) перенос на них даже стохастической текстуры не обеспечивает их реалистичного вида. Возникает ощущение, что текстура нарисована на гладкой поверхности. Причина этого заключается в том, что текстура, сформированная без учета формы объекта, не передает изменений освещенности, обусловленных рельефом поверхности. Для реальных шероховатых поверхностей вектор нормали содержит небольшую случайную составляющую, которая определяет характер изменения освещенности в изображении. Чтобы получить изображение, близкое к реалистичному, необходимо смоделировать именно этот фактор. В методе моделирования рельефа поверхности с помощью вспомогательной функции в направлении нормали к поверхности вносится возмущение, что приводит к изменению отражения от элементов вновь образованной поверхности. Нормаль к исходной поверхности определяется векторным произведением , где и – частные производные по направлениям и . Нормаль к возмущенной поверхности при малом возмущении вычисляется по формуле , где и – сечения функции в данной точке по направлениям и . В качестве функции могут быть использованы как аналитические функции, так и заданные в виде цифрового массива. В частности, в виде цифрового массива можно задать стохастическую текстуру. Изображение при использовании данного метода отображения шероховатости поверхности приобретает вид, чрезвычайно близкий к реалистичному. Необходимый объем вычислений для алгоритма возмущения нормали весьма значителен. Он приблизительно в 4...5 раз больше, чем при отображении текстуры без учета рельефа. Аналогичные методы возмущения используют для придания естественного вида цветным поверхностям. К исходному цвету добавляется случайная или псевдослучайная составляющая другого цвета. В результате точки поверхности приобретают цвет, являющийся интерполяцией между двумя крайними цветами. Этот метод подходит для моделирования поверхностей из гравия, цемента и т.п. Наиболее сложным в вычислительном отношении является формирование текстуры изображений, содержащих существенные нерегулярности. К этому типу относятся изображения значительного числа природных объектов: каменные осыпи, деревья, облака, всхолмленные ландшафты и т.п. Для формирования изображений подобных объектов в настоящее время стали широко использоваться фрактальные поверхности, состоящие из случайно заданных полигональных или биполигональных поверхностей. Фрактальные поверхности получают путем рекурсивного разбиения поверхности на фрагменты. Число разбиений обычно весьма велико – от нескольких тысяч до миллионов.
|