Метод векторизации растровых изображений

ЭЛЕКТРОНИКА И ПРИБОРОСТРОЕНИЕ

УДК 681.142.2

Н.С. Дворников

МЕТОД ВЕКТОРИЗАЦИИ РАСТРОВЫХ ИЗОБРАЖЕНИЙ

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

N.S. Dvornikov A METHOD OF BITMAPPED IMAGE VECTORIZATION

The problem of transfer of bitmapped image to vector one is described in brief in the paper. A method of bitmapped image processing and the optimal choice of vertex set for the subsequent conversion of the named image to vector format are proposed. The approximation algorithm for border curves is presented here.

Существует два способа представления изображения: это векторное и растровое. Что касается векторного представления, в данном случае предполагается набор кривых -векторов и совокупность различных набора кривых, которые однозначно описывают изображение. При растровом представлении изображение состоит из отдельных точек с собственными характеристиками, значениями цветов и т.д. в зависимости от выбранной цветовой координатной системы (ЦКС). Всегда, с самого появления этих двух способов представления возникали проблемы с переходом от одного способа описания изображения в другой.

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

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

В частности, можно констатировать, что уже достаточно давно существуют два подхода к проблеме преобразования растрового изображения в векторное, но до сих пор

не существует однозначного решения проблемы преобразования из одного способа представления в другой и обратно.

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

Рис. 1. Варианты растровых изображений с четко выраженным переходом и с градиентным переходом, соответственно а, в, и гистограммы их распределения б, г

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

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

изображения [1-3]. В данной статье рассматривается подход к векторизации цветных растровых изображений.

В первую очередь уточним, что все рассуждения относительно цветов будут вестись в рамках стандартной общепринятой ЦКС (цветовой координатной системы) ЯОБ [1]. Рассмотрим возможность формирования цветового порога или допуска при работе с полноцветным изображением.

где Т - пороговое значение цветового расстояния; Я - расстояние между двумя точками в пространстве ЯОБ; г, g, Ь - соответственно цветовые координаты точек.

Согласно (2) цветовое расстояние между двумя точками изображения не должно превышать некоторого порогового значения. Данное значение и будет задаваемой степенью векторизации цветного изображения. На основании имеющегося изображения согласно (1) мы можем определить цветовое расстояние между двумя точками, что позволит однозначно решать вопрос о принадлежности каждой конкретной точки той или иной цветовой области.

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

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

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

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

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

Я < Т ,

аппроксимации полученного набора точек ломаной линией. Следует отметить, что погрешность аппроксимации не должна превышать 1 пикселя. При этом максимальные точки границы должны быть равноудалены.

Для решения возникшей проблемы предлагается один из возможных алгоритмов аппроксимации набора точек, основанный на результатах работ [2, 3].

Аппроксимация граничных линий.

1. Выделение и вставка характерных узловых точек (рис. 2).

1.1. Если граничная линия незамкнута, то выделяются две концевые точки.

1.2. Выделяются точки в углах - местах стыковки двух отрезков, если по длине оба строго больше чем 2 пикселя либо оба равны 2 пикселям.

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

1.4. Вставляются точки в середине отрезков, являющихся локальными экстремумами, если на этих отрезках еще нет выделенных точек.

2. Вставляются точки в середине всех тех отрезков, на которых еще нет выделенных точек.

3. Удаляются те точки исходной

граничной линии, которые остались не

выделенными.

4. Просматриваются все

получившиеся отрезки (по два соседних), и если наклон следующего строго совпадает с наклоном предыдущего, то удаляется промежуточная точка.

Приведем теорему с доказательством для рассмотренного алгоритма.

Теорема. Алгоритм строит аппроксимирующую ломаную с

максимальным отклонением от исходной

граничной линии менее 0,5 пикселя.

Доказательство. Введем следующие обозначения (рис. 3): X- точка исходной ломаной; а, Ь - инцидентные точке X отрезки исходной граничной линии; Ы, М - середины

отрезков а и Ь соответственно; ё - сегмент аппроксимирующей линии; К, Т - точки

пересечения ё с отрезками а и Ь соответственно. Длины отрезков а и Ь будем обозначать теми же буквами.

Рассмотрим следующие случаи взаимного расположения отрезков исходной граничной линии и аппроксимирующей ломаной:

1.я>2ий>2 либо а = 2 и Ъ = 2. Точка X войдет в состав аппроксимирующей ломаной, поэтому отклонение равно нулю.

2. Длина одного из отрезков строго равна 2, длина

другого больше, чем 2 пикселя. Пусть для определенности а = 2 и Ь > 2. Тогда на отрезке Ь на расстоянии 0,5 пикселя от точки X будет добавлена узловая точка, через которую пройдет

аппроксимирующая ломаная. Очевидно, что расстояние от точки X до этой ломаной не больше 0,5 пикселя.

3. Длина одного из отрезков, например а, равна единице. Тогда К находится на расстоянии 0,5 от точки X, а евклидово расстояние от точки X до отрезка ё -менее 0,5 пикселя.

Рис. 2. Локальные экстремумы и узловые точки

Рис. 3. Построение аппроксимирующей линии

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

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

ЛИТЕРАТУРА

1. Костюк Ю.Л. Графовые модели цветных растровых изображений высокого разрешения / Ю.Л. Костюк, Ю.Л. Новиков // Вестник ТГУ. 2002. № 275. С. 153-160.

2. Костюк Ю.Л. Алгоритмы векторизации цветных растровых изображений на основе триангуляции и их реализация / Ю.Л. Костюк, А.Б. Кон, Ю.Л. Новиков // Вестник ТГУ. 2002. № 275. C. 161-168.

3. Yali A. 2D Object Detection and Recognition Models / A. Yali // The MIT Press Cambridge, Massachusetts London. 2002. 325 p.

Дворников Николай Сергеевич -

инженер ООО «Юник АйСиз», г. Саратов