Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие 2011.docx
Скачиваний:
103
Добавлен:
10.12.2018
Размер:
3.14 Mб
Скачать
      1. Нелинейные фильтры

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

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

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

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

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

а)

б)

в)

Рис. 4.39. Удаление шумов фильтрами размытия и медианным фильтром

  1. Преобразования растровых изображений

    1. Векторизация с помощью волнового алгоритма

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

Различают следующие виды векторизации:

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

  • Ручная векторизация — перевод бумажных чертежей в электронный вид перечерчиванием каждого документа вручную в системах автоматизированного проектирования.

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

На растровом изображении могут присутствовать отрезки, соединения и пересечения отрезков (Рис. 5 .40). Включение дуг в изображение в данном пособии не рассматривается.

а)

б)

в)

Рис. 5.40. Объекты растрового изображения

Под изображением отрезка на растре будем понимать такое множество черных точек растра, что можно провести отрезок прямой AB такой, что по обе стороны от этого отрезка будет лежать примерно равное количество точек, и расстояния от отрезка до ближайших крайних точек изображения будут отличаться не более чем на наперед заданную величину (Рис. 5 .40, а).

Под соединением отрезков будем понимать два отрезка такие, что одна из вершин одного отрезка лежит на другом отрезке. В этом случае они будут иметь одну общую точку и один из отрезков будет разделен на два (Рис. 5 .40, б).

Пересекающиеся отрезки изображения будем представлять в виде отрезков меньшей длины, имеющих одну общую вершину (Рис. 5 .40, в).

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

За узловые точки будем принимать точки соединения изображения линий в растровом изображении. Толщиной линии будем считать ее ширину в пикселях.

Алгоритм реализуется в два этапа:

  • Построение скелета изображения с помощью сферической волны;

  • Оптимизация полученного скелета.

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