Автоматическая векторизация

Для автоматической векторизации в комплект поставки CorelDRAW 11 включается отдельная утилита CorelTRACE 11. Эта программа позволяет по исходным изображениям в формате точечной графики автоматически строить векторные изображения в формате СМХ, который в семействе графических программ фирмы Corel используется для обмена графической информацией. Для перехода к автоматической векторизации импортированного точечного изображения следует выделить его инструментом Pick (Выбор) и выбрать команду Bitmaps > Trace Bitmap (Точечные изображения > Трассировать точечное изображение). К сожалению, объем этой книги не позволяет подробно остановиться на приемах работы с программой CorelTRACE 11. Отметим только, что наиболее часто употребляются два режима ее работы: трассировка по контурам и трассировка по осевой линии. На рис. 17.6 представлены исходное точечное изображение и результаты его векторизации программой CorelTRACE 11 в этих двух режимах.

gl17-6.jpg

Рис. 17.6. Точечное монохромное изображение (а) и результаты его автоматической векторизации по контурам (б) и по осевой линии (в)

На рисунке к изображениям добавлены увеличивающие линзы с точками обзора, наведенными на один и тот же сучок изображенного дерева. В линзе, наведенной на точечное изображение, четко виден эффект искажения растрирования, возникающий при сильном увеличении — становятся заметными отдельные пикселы.

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

Подсказка

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

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

Примечание

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

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

Вместо этого можно воспользоваться побочными эффектами, возникающими в режиме имитации полутонов (dithering) при преобразовании векторного изображения в точечное. Последовательность действий должна быть следующей.

1. Строится объект, задающий форму области, которая будет заполнена мелкими случайным образом разбросанными объектами. Он дублируется, его копия уменьшается раза в четыре, отменяется ее обводка и назначается заливка более или менее светлым оттенком серого цвета. Чем светлее оттенок и чем сильнее уменьшается копия, тем реже будут располагаться объекты — точные значения следует подбирать экспериментально.

2. Копия преобразуется в штриховое изображение (глубина цвета — 1 бит) с обязательным включением режима имитации и самым низким разрешением (72 dpi). В результате получается скопление черных пикселов, не слишком равномерно разбросанных на белом фоне.

3. Габариты полученного точечного изображения увеличиваются до совмещения заполненной точками области с исходным объектом. Увеличенное изображение еще раз преобразуют в точечное изображение, но на этот раз — в полутоновое монохромное (глубина цвета 8 бит). Разрешение на этот раз выбирается побольше — минимум 150 dpi. После увеличения внешний вид точечного изображения не меняется, но эти операции необходимы в качестве подготовки следующего этапа.

4. Полученное полутоновое монохромное изображение размывается по Гауссу, в результате прямоугольные очертания черных пятен, получившихся из пикселов, превращаются в более или менее округлые и размытые по краям серые пятна. Это изображение с помощью эффекта Edge Detect (Поиск кромок) преобразуется в совокупность замкнутых фигур. Задача почти решена, но изображение пока остается точечным. Перед заключительным этапом еще раз преобразуем точечное изображение в монохромное без полутонов, с тем же разрешением, что использовалось на шаге 3.

5. Остается только выбрать команду Bitmaps > Trace Bitmap (Точечные изображения > Векторизовать точечное изображение) и выполнить векторизацию по методу осевой линии. После выхода из программы CorelTRACE, которая автоматически запускается этой командой, в CorelDRAW будет возвращен результат векторизации в виде группы векторных объектов, размещенной поверх векторизованного точечного изображения. Точечное изображение больше не потребуется, его можно удалить, а для совокупности полученных объектов остается только назначить заливку и контурные линии.

 


Хостинг от uCoz