Вычислительные технологии
Том 13, Специальный выпуск 5, 2008
Фильтрация помех при векторизации полутоновых растровых изображений
Ю.Л. Костюк, Ю.Э. Абдуллин Томский государственный университет, Россия e-mail: kost@inf. tsu. ru, yury. abdullin@gmail. com
We propose a raster image vectorization method applied for color images originally containing fixed number of colors, which were transformed into halftone ones due to the noise effect. Idea of the method is to detect contour lines between regions of different color, build triangulation with constraining lines over the contours of detected regions and to correct separate and near-the-contour halftone noise regions.
С необходимостью решения задачи векторизации растровых изображений часто приходится сталкиваться при цифровой обработке снимков и документов, находящихся на пленке или бумажных носителях. Такая обработка необходима для последующего выделения объектов на векторизованных изображениях, распознавания текста, улучшения качества полученных изображений и т. д.
В данной работе описан метод векторизации полутоновых растровых изображений, которые исходно содержали фиксированное количество цветов, однако в процессе обработки могли быть трансформированы с дополнением фиксированного набора цветов областями промежуточного цвета вдоль границ объектов, а также случайными шумовыми образованиями. Подобное изменение набора цветов может происходить при воздействии шумов в процессе оцифровки изображений либо в результате сжатия алгоритмами с потерями, такими как JPEG.
Очевидно, что для указанного класса изображений не могут быть применены методы, описанные в работах [1, 2] и предназначенные для векторизации бинарного растрового изображения. С другой стороны, методы, предназначенные для бинаризации полноцветных полутоновых изображений, такие как [3], также не могут быть использованы в данном случае без ограничений, поскольку их применение было бы связано с появлением на векторизованных изображениях нежелательных артефактов, ухудшающих качество результата, а также расширением исходного набора цветов их оттенками.
Таким образом, для векторизации подобных изображений необходим метод, который позволял бы обрабатывать полутоновые изображения и корректировать на них известные артефакты для получения векторных изображений с фиксированным количеством цветов. В данной работе предлагается алгоритм векторизации таких растровых изображений.
Нахождение граничных линий. Будем аналогично [3] считать, что границы между областями разного цвета всегда проходят между краевыми пикселями двух областей, однако для однозначного разделения изображения на области здесь возникает необходимость введения условия, согласно которому очередной пиксель изображения следует относить к той или иной области.
© Институт вычислительных технологий Сибирского отделения Российской академии наук, 2008.
Поскольку просмотр изображения осуществляется последовательно пиксель за пикселем и па каждой итерации известно, к какой области был отнесен предыдущий пиксель, назовем ее Л. Тогда условие отнесения текущего пикселя к области Я запишем следующим образом:
^(Я) < Т, (1)
где Т — настраиваемый порог сравнения, определяющий предельно допустимую меру различия цветов пикселей, попадающих в одну область, а ^(Я) может быть вычислено по формуле
<!г(Я) = тах (\г - Гд\ , |gi - 9в\ , |Ь - &я|) , (2)
где д^ ^ — цветовые компоненты текущего пикселя, а гд, дд, Ьд — накопленные
к текущему моменту средние значения компонентов цвета области Я. Метрика Я),
как видно, учитывает максимальное отклонение цвета, взятое но трем компонентам цветового пространства 1ЮВ.
Такой подход к выделению областей позволяет фильтровать отклонения цветов отдельных пикселей областей без их выделения в отдельные области (рис, 1), Особенно это важно при наличии шума па изображениях либо артефактов сжатия. Однако нужно отметить, что при этом требуется ручное построение пользователем порога Т
После того как пиксели просмотрены и каждый из них отнесен к той или иной области согласно (1), (2), аналогично |3| строится растровое изображение границ между найденными областями. Его размерность составляет [М + 1,М + 1], поскольку ли-
Рие. 1. Исходное зашумленное изображение (а); изображение после процедуры выделения областей с использованием формул (1), (2) (б)
Рис. 2. Диагональные шаблоны для распознавания граничных линий (объединяемые пиксели обозначены одним цветом)
I
а
Рис. 3. Линия контура между пикселями областей разного цвета (растровое представление) (а) и линия контура, аппроксимированная прямолинейным отрезком (б)
нии контуров проходят между пикселями исходного изображения, [М, N] — размеры исходного изображения.
Набор шаблонов для выделения границ по (’равнению с [3] в данном случае дополнен двумя диагональными шаблонами (рис. 2), обеспечивающими объединение в одну область пикселей близкого цвета, для которых выполнено условие (1) при одном и том же значении Я, однако они не четырехсвязны между собой (т. е. соприкасаются углами), а цвета оставшихся двух пикселей между собой различны.
Далее граничные линии аппроксимируются прямолинейными отрезками (рис. 3). Точность аппроксимации при этом составляет 0.5 пикселя.
Построение триангуляции с ограничениями. Триангуляция строится по множеству точек, образованному концами прямолинейных отрезков, из которых состоят линии аппроксимированных границ. Изначально методом последовательного добавления точек к уже имеющимся (•троится триангуляция без ограничений. Когда триангуляция готова, к ней добавляются линии ограничений. Сетка, на которой строится триангуляция, имеет в два раза большее число узлов вдоль обеих осей (X и У) по сравнению с числом пикселей в исходном растровом представлении граничных линий.
Определение цветов областей. В данном случае в отличие от [3] нет необходимости хранить цвет вершины каждого треугольника, поскольку результирующие области закрашиваются сплошным цветом. Цвет области определяется как медианное значение цвета по всему множеству пикселей исходного изображения, попадающему в вычисленную область. Это происходит в два этапа.
1. Определение принадлежности треугольников областям.
На данном этапе осуществляются обход всей триангуляции по соседствующим треугольникам через смежную сторону, если она не является линией ограничения, и пометка просмотренного треугольника маркером текущей области. Если на текущем шаге обхода нельзя перейти к непомеченному треугольнику без пересечения линии ограничения, то берется первый попавшийся и еще не помеченный маркером треугольник и значение маркера увеличивается на единицу.
2. Определение принадлежности пикселей треугольникам.
Когда все треугольники помечены маркерами соответствующих областей, производится последовательный обход изображения по пикселям и для каждого пикселя определяется треугольник в триангуляции, в который он попадает. В практической реализации для ускорения работы на данном этапе может использоваться кеширование [4].
Выполнение данной двухэтапной процедуры позволяет извлечь цветовую информацию о каждой области и вычислить ее медианный цвет. Этот цвет и становится результирующим цветом области.
Коррекция полутонов. В процессе векторизации изображений дополнительно выполняется шаг коррекции мелких полутоновых областей, возникших в результате воздействия помех. Такие области условно разделим на два класса.
1, Области малой площади (1-2 пикселя), которые располагаются внутри крупных однородных областей либо на их границах, а их цвет заметно отличается от цветов окружающих пикселей и областей. Природа таких образований — импульсный шум либо шум Гаусса большой амплитуды.
Определение 1. Толщиной области (группы областей) будем называть минимальную из длин сторон описанного около области (или группы) прямоугольника.
2, Области толщиной в 1 пиксель, расположенные вдоль границ более крупных областей и имеющие промежуточный цвет по отношению к цветам соседних более крупных областей. Природа данных образований — интерполяция цвета и ошибки квантования при использовании алгоритмов сжатия, а также низкое качество исходного изображения (например, размытость).
Коррекция полутоновых областей первого рода не составляет труда и выполняется путем приписывания им ближайшего цвета среди соседствующих областей (рис, 4),
Определение 2. Цепочкой областей назовем группу из одной или более соседствующих областей, если толщина группы не более толщины каждой из ее областей.
Определение 3. Четырехсвязной цепочкой областей назовем цепочку, области которой четырехсвязны между собой.
Алгоритм коррекции образований второго рода не столь тривиален и состоит из следующих шагов:
1) поиск максимальной но включению четырехсвязной цепочки областей толщиной в 1 пиксель;
2) выбор двух наиболее удаленных точек ветвления, входящих в состав границ областей, принадлежащих цепочке;
3) если оба участка границы между выбранными точками содержат другие точки ветвления, то переход к поиску следующей цепочки;
4) удаление участка границы между выбранными точками, не содержащего других точек ветвления (если ни один из двух участков не содержит точек ветвления, то удаляются оба участка);
5) соединение выбранных точек ветвления с добавлением промежуточных точек в центре каждого из пикселей области;
6) удаление текущей цепочки областей, если на шаге 4 были удалены оба участка границы.
Результат подобной коррекции цепочек областей представлен на рис, 5,
а б в
Рис. 4. Фрагмент иеходнш'о изображения с наличием артефактов сжатия (а); изображение после выделения областей (5); изображение после удаления областей небольшой площади (в)
а б в
Рис. 5. Фрагмент изображения с наличием артефактов сжатия: а исходное изображение; б с границами областей; в с границами после коррекции цепочек полутоновых областей
Таким образом, полученная структура триангуляции с ограничениями позволяет восстанавливать изображение из векторного вида в растровый, вычисляя цвет произвольного пикселя изображения на основе цвета области, заданной множеством соответствующих ей треугольников. Восстановленное изображение в значительной мере лишено эффектов присутствия шумов и полутоновых образований вдоль границ объектов, которые могут присутствовать на исходном растре.
Повторная обработка. Необходимо отметить, что изображение, полученное в процессе восстановления исходного изображения из векторной формы, может быть повторно подвергнуто описанным шагам обработки, в результате чего триангуляционная структура существенно упрощается, а сокращение количества мелких треугольников в ней может достигать 40 % от исходного количества в зависимости от степени зашумленности исходного изображения.
Список литературы
[1| Розепфельд А. Распознавание и обработка изображений с помощью вычислительных машин: Пер. с англ. М.: Мир, 1972. 230 с.
[2| Обработка и отображение информации в растровых графических системах. Минск: НТК АН БССР, 1989. 180 с.
[3] Костюк Ю.Л., Коп А.Б., Новиков Ю.Л. А.;п'оритмы векторизации цветных растровых изображений на основе триангуляции и их реализация /7 Вест. ТГУ. 2003. № 280. Апрель. С. 275 280.
[4] Скворцов А.В. Триангуляция Делоне и ее применение. Томск: Изд-во ТГУ, 2002. 128 с.
Поступила в редакцию 28 марта 2008 г.