Векторизация (графика)

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Векторизация — преобразование изображения из растрового представления в векторное; процесс, обратный растеризации.

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

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

Алгоритмы автоматической векторизации

[править | править код]

Как правило, перед векторизацией изображение переводится в систему линий толщиной в 1 пиксель (в справочном руководстве WinTopo процесс называется «утоньшением», англ. thinning). При этом выделяются либо границы областей со схожим цветом (с частичной потерей информации об оттенке), либо середины линий, исходно имевших толщину в несколько пикселей (теряется информация о толщине и часто искажается форма); предварительно изображение обычно улучшают (напр., присваивают пикселю средний цвет соседей, убирают спеклы, уменьшают количество цветов и так далее). Полученную картину можно без потерь качества преобразовать в набор отрезков под углом, кратным 45°. Однако обычно требуется получить набор гладких кривых (при этом желательно минимальный по количеству и оптимальный по сходству с исходным изображением). Специальный алгоритм вычленяет пути (возможно, пересекающиеся) и представляет их в виде набора отрезков, дуг окружностей или сплайнов; можно сначала вычленить простейшие отрезки, а затем уменьшить их число, объединяя малые по длине и схожие по направлению.[1]

Примечания

[править | править код]