ВЕСТНИК ТОМСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА
2007 Управление, вычислительная техника и информатика № 1
УДК 681.03
Ю.Л. Костюк, Ю.Э. Абдуллин ПОМЕХОУСТОЙЧИВАЯ ВЕКТОРИЗАЦИЯ ПОЛУТОНОВЫХ РАСТРОВЫХ ИЗОБРАЖЕНИЙ
Предлагается метод векторизации растрового изображения с фиксированным набором цветов, ставшего полутоновым в результате действия помех, путём выделения контуров между областями пикселей близкого цвета и построения триангуляции с ограничениями, проходящими по границам построенных областей. Цвета малоразмерных областей при этом могут быть скорректированы, в результате чего улучшается качество изображения.
Задача векторизации растровых изображений возникает при цифровой обработке снимков и отсканированных бумажных документов. В статье описан метод векторизации полутоновых растровых изображений, которые первоначально содержали фиксированное количество цветов, однако в процессе обработки были зашумлены, т.е. были искажены цвета некоторых пикселей. Это происходит, например, при сжатии алгоритмами с потерями, такими, как JPEG, а также при сканировании изображения. Для обработки таких изображений непригодны методы, предназначенные для векторизации бинарного растрового изображения [1,2]. При использовании алгоритмов векторизации цветных изображений [3] на векторизованных изображениях могут появляться артефакты в виде областей, окрашенных искаженными цветами. Описанный в статье метод векторизации осуществляет коррекцию подобных артефактов.
1. Нахождение граничных линий
Будем, аналогично [3], считать, что границы между областями разного цвета всегда проходят между краевыми пикселями двух областей, однако, в отличие от [3], в одну и ту же область будем включать пиксели с близкими друг к другу цветами.
Поскольку просмотр изображения осуществляется последовательно пиксель за пикселем, то на каждой итерации известно, к какой области был отнесён предыдущий пиксель, назовём её Я. Условие отнесения текущего пикселя к области Я запишем следующим образом:
4 (Я) < Т , (1)
где Т - настраиваемый порог сравнения, определяющий предельно допустимую меру различия цветов пикселей, попадающих в одну область, а d , (Я) может быть вычислено по формуле
^ (Я) = тах(|г- -Тк|,|gi -,\ь- -Ьк|), (2)
где г,, gi, Ь1 - цветовые компоненты текущего пикселя, а Тк, , Ьк - накопленные
к текущему моменту средние значения компонент цвета области Я. Метрика
di (Я), как видно, учитывает максимальное отклонение цвета, взятое по трём компонентам цветового пространства RGB.
Такой подход к выделению областей позволяет фильтровать отклонения цветов отдельных пикселей областей без их выделения в отдельные области (рис. 1). При этом требуется ручная настройка пользователем порога сравнения Т.
Рис. 1. Исходное зашумлённое изображение (а), изображение после процедуры выделения областей (б) с использованием формул (1) и (2)
После того как пиксели просмотрены и каждый из них отнесён к той или иной области, строится растровое изображение границ между найденными областями, как показано в [3]. При размерах исходного изображения Ы*Ыразмер растра границ составляет (Ы+1)х(Ы +1).
Набор шаблонов для выделения границ, приведенный в [3], дополнен двумя диагональными шаблонами, представленными на рис. 2. Эти шаблоны обеспечивают объединение в одну область пикселей близкого цвета, для которых выполнилось условие (1) при одном и том же значении Я, если, кроме того, эти пиксели не 4-связны между собой (т.е. они соприкасаются углами), а цвета оставшихся двух пикселей различны между собой.
Рис. 2. Диагональные шаблоны для распознавания граничных линий (объединяемые пиксели обозначены одним цветом)
Далее граничные линии аппроксимируются прямолинейными отрезками, как показано на рис. 3. Точность аппроксимации при этом составляет 0,5 пикселя.
Рис. 3. Линия контура между пикселями областей разного цвета (растровое представление) (а); линия контура, аппроксимированная прямолинейным отрезком (б)
2. Построение триангуляции с ограничениями
Триангуляция строится по множеству точек, образованному концами прямолинейных отрезков, из которых состоят линии аппроксимированных границ. Вначале строится триангуляция Делоне без ограничений, например, алгоритмом кэширования [4] путем последовательного добавления точек к уже имеющимся. Далее в триангуляцию вставляются линии ограничений - отрезки границ между областями с перестроением тех треугольников, которые пересекают эти отрезки [5]. Сетка, на которой строится триангуляция, имеет в 2 раза большее количество узлов вдоль обеих осей (X и У) по сравнению с количеством пикселей в исходном растровом представлении граничных линий (рис. 4).
а б
Рис. 4. Триангуляция, построенная на множестве концевых точек граничных линий (а); триангуляция с ограничениями (б)
3. Определение цветов областей
Каждая из выделенных на растре областей должна быть закрашена сплошным цветом, для чего необходимо усреднить цвета пикселей исходного изображения
отдельно по каждой из областей. Цвет области определяется как медианное значение цвета по всему множеству пикселей, попавших в выделенную область. Это происходит в два этапа:
1. Определение принадлежности треугольников областям.
2. Определение принадлежности пикселей треугольникам.
На первом этапе осуществляется обход всей триангуляции по соседним треугольникам через смежную сторону, если она не является линией ограничения, и пометка просмотренного треугольника маркером текущей области. Если на текущем шаге обхода нельзя перейти к непомеченному треугольнику без пересечения линии ограничения, тогда берётся первый попавшийся ещё не помеченный маркером треугольник, а значение маркера увеличивается на единицу.
На втором этапе, когда все треугольники помечены маркерами соответствующих областей, производится последовательный обход изображения по пикселям, и для каждого пикселя определяется треугольник в триангуляции, в который он попадает. С целью ускорения обхода можно использовать кэширование [4] в триангуляции для быстрого поиска треугольников.
Поскольку теперь известно соответствие между пикселями и областями, такая двухэтапная процедура позволяет накопить цветовую информацию по каждой области и вычислить её медианный цвет (медиана должна вычисляться по каждой цветовой компоненте). Этот цвет и становится результирующим цветом области. Использование медианного усреднения позволяет приписать области цвет, которым обладает наибольшее число пикселей области, и не учитывать при усреднении те пиксели, у которых цвет отличается от медианного.
4. Коррекция полутонов
Поскольку результирующее изображение всё ещё может содержать полутоновые образования вдоль границ областей, необходима дополнительная обработка для их ликвидации. Для этого каждой области, площадь которой составляет величину меньше пороговой и которая к тому же имеет толщину не более одного пикселя, приписывается цвет соседствующей с нею области наибольшей площади. Это позволяет удалить возможные шумовые образования небольшой площади, которые могли выделиться в отдельные области на этапе выделения областей (рис. 5).
а б в
Рис. 5. Фрагмент исходного изображения с наличием артефактов сжатия (а); изображение после выделения областей (б); изображение после удаления областей небольшой площади (в)
Таким образом, полученная структура триангуляции с ограничениями позволяет восстанавливать изображение из векторного вида в растровый, вычисляя цвет произвольного пикселя изображения на основе цвета области, заданной множеством соответствующих ей треугольников. Восстановленное изображение в значительной мере лишено эффектов присутствия шумов и полутоновых образований вдоль границ объектов, которые могут присутствовать в исходном растре.
5. Повторная обработка
Необходимо отметить, что изображение, полученное в процессе восстановления исходного изображения из векторной формы, может быть повторно подвергнуто описанным шагам обработки, в результате чего триангуляционная структура существенно упрощается, а количество мелких треугольников в ней уменьшается в 1,5 - 2 раза в зависимости от степени зашумлённости исходного изображения.
Трудоемкость всех рассмотренных алгоритмов - линейная от числа обрабатываемых объектов (от количества пикселей на исходном растре, от числа отрезков граничных линий и т.п.). При этом трудоемкость повторной обработки оказывается в существенно меньше трудоемкости первичной обработки.
ЛИТЕРАТУРА
1. Розенфельд А. Распознавание и обработка изображений с помощью вычислительных машин: Пер. с англ. М.: Мир, 1972. 230 с.
2. Обработка и отображение информации в растровых графических системах. Минск: ИТК АН БССР, 1989. 180 с.
3. Костюк Ю.Л., Кон А.Б., Новиков Ю.Л. Алгоритмы векторизации цветных растровых изображений на основе триангуляции и их реализация // Вестник ТГУ. 2003. № 280. С. 275 - 280.
4. Скворцов А.В., Костюк Ю.Л. Эффективные алгоритмы построения триангуляции Делоне // Геоинформатика. Теория и практика. Вып. 1. Томск: Изд-во Том. ун-та, 1998. С. 22 - 47.
5. Скворцов А.В., Костюк Ю.Л. Применение триангуляции для решения задач вычислительной геометрии // Геоинформатика. Теория и практика. Вып. 1. Томск: Изд-во Том. ун-та, 1998. С. 127 - 138.
Статья представлена кафедрой теоретических основ информатики факультета информатики Томского Государственного университета, поступила в научную редакцию 29 июня 2007 г.