СВЕРХДИСКРЕТИЗАЦИЯ ПРЯМОЛИНЕЙНЫХ ОТРЕЗКОВ

Сверхдискретизацию можно реализовать несколькими способами. В прямолинейном отрезке каждый пиксель можно разделить на ряд подпикселей и подсчитать количество подпикселей, которые накладываются на саму прямую. После этого уровень интенсивности каждого пикселя устанавливается равным тому значению, которое пропорционально количеству подсчитанных подпикселей. Пример применения этого метода приведен на рис. 4.47. Квадратный участок, соответствующий каждому пикселю, делится на девять одинаковых квадратных подпикселей, а с помощью закрашенных участков показаны те подпиксели, которые были бы выбраны при использовании алгоритма Брезенхема. Такая схема дает три уровня интенсивности, превышающих О, поскольку максимальное количество подпикселей, которые можно выбрать в пределах каждого пикселя, равно трем. В этом примере пикселю, который находится в положении (10, 20), присваивается максимальное значение интенсивности (уровень 3); пикселям с координатами (11, 21) и (12, 21) присваивается второе по величине значение интенсивности (уровень 2); а пикселям с координатами (11, 20) и (12, 22) присваивается самое низкое значение интенсивности, превышающее нуль (уровень 1). Таким образом, интенсивность прямой распределяется по большему количеству пикселей, за счет чего устраняется изначальная неровность контура. При применении этой процедуры в районе ступенек (между горизонтальными участками) получается некое размытое изображение прямой линии. Если для устранения контурной неровности прямой линии этим методом потребуется использовать больше уровней интенсивности, нужно будет увеличить количество частей, на которые делится каждый пиксель. При шестнадцати подпикселях мы получим четыре отличных от нуля уровня интенсивности; двадцать пять подпикселей дадут пять уровней, и т.д.

Сверхдискретизация подпикселей, расположенных вдоль прямолинейного отрезка, левый конец которого находится в точке с экранными координатами (10, 20)

Рис. 4.47. Сверхдискретизация подпикселей, расположенных вдоль прямолинейного отрезка, левый конец которого находится в точке с экранными координатами (10, 20)

I

Сверхдискретизация подпикселей относительно внутренней области прямой линии конечной ширины

Рис. 4.48. Сверхдискретизация подпикселей относительно внутренней области прямой линии конечной ширины

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


⇐ вернуться назад | | далее ⇒