
- •Цифровая обработка изображений
- •Лабораторная работа № 1
- •2.2. Схема пространственной фильтрации
- •2.3. Сглаживание изображений локальным усреднением
- •2.4. Сглаживание по обратному градиенту
- •2.5. Сигма-фильтр и его модификация «метод к-ближайших соседей»
- •2.6. Сглаживание по наиболее однородным областям
- •4. Отчет по лабораторной работе
- •Лабораторная работа № 2
- •2.2. Линейные методы выделения границ областей. Лапласиан
- •2.3. Нелинейные методы выделения границ областей
- •2.3.1. Фильтр Робертса
- •2.3.2. Фильтр Собеля
- •2.3.3 Оператор Превита
- •2.3.4. Оператор Кирша
- •2.3.5. ОператорУоллеса
- •2.3.6.Статистический метод
- •2.3.7.Детектор границ Канни
- •3. Порядок проведения работы
- •4. Отчет по лабораторной работе
- •Литература
- •Содержание
2.3.7.Детектор границ Канни
Джон Канни описал алгоритмы обнаружения границ, которые с тех пор стали одними из наиболее широко используемых. Можно сказать, что они стали классикой в области обнаружения границ. Канни исходил из трех критериев, которым должен удовлетворять детектор границ:
1) хорошее обнаружение (Канни трактовал это свойство как повышение отношения сигнал/шум);
2) хорошая локализация (правильное определение положения границы);
3) единственный отклик на одну границу.
Из этих критериев затем строилась целевая функция стоимости ошибок, минимизацией которой находится "оптимальный" линейный оператор для свертки с изображением.
Алгоритм детектора границ Канни не ограничивается вычислением градиента сглаженного изображения. В контуре границы оставляются только точки максимума градиента изображения, а не максимальные точки, лежащие рядом с границей, удаляются. Здесь также используется информация о направлении границы для того, чтобы удалять точки именно рядом с границей и не разрывать саму границу вблизи локальных максимумов градиента. Затем с помощью двух порогов удаляются слабые границы. Фрагмент границы при этом обрабатывается как целое. Если значение градиента где-нибудь на прослеживаемом фрагменте превысит верхний порог, то этот фрагмент остается также "допустимой" границей и в тех местах, где значение градиента падает ниже этого порога, до тех пор пока она не станет ниже нижнего порога. Если же на всем фрагменте нет ни одной точки со значением большим верхнего порога, то он удаляется. Такой гистерезис позволяет снизить число разрывов в выходных границах. Включение в алгоритм Канни шумоподавления с одной стороны повышает устойчивость результатов, а с другой – увеличивает вычислительные затраты и приводит к искажению и даже потере подробностей границ. Так, например, таким алгоритмом скругляются углы объектов и разрушаются границы в точках соединений.
В общем виде детектор границ Канни функционирует следующим образом[7]:
Исходное изображение,
представленное в виде функции
,
подвергается операции сглаживания с
помощью свертки :
где σ – параметр степени сглаживания (чем выше σ, тем больше сглаживается изображение).
Вычисление градиента
изображения в вертикальном
и горизонтальном
направлениях с помощью одного из
операторов первой производной ( например:
Робертса, Собела, Превитта и др.).
Полученные значения объединяются с
помощью известной формулы:
Направление градиента:
,
где Т - выбирается таким образом, чтобы все элементы границы были сохранены, в то время как большинство шумов подавлено.
Далее
выполняется операция non-maximal
suppression.
Алгоритм уточняет найденные на предыдущем
шаге контуры путем обнуления значений
градиента, соответствующих тем элементам
изображения, которые на самом деле не
находятся на вершине «гребня» градиента.
Операция осуществляется с использованием
двух порогов T1
и Т2,
причем
.
Анализ начинается в точке на «гребне»,
соответствующее значение градиента
которой больше, чемT1,
и продолжается до тех пор, пока высота
«гребня» станет меньше порога Т2.
Данная процедура предназначена для
нахождения значимых контуров изображения.