Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЦОИ заочники / практика / Лабораторные работы.doc
Скачиваний:
132
Добавлен:
23.02.2015
Размер:
991.74 Кб
Скачать

2.3.7.Детектор границ Канни

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

1) хорошее обнаружение (Канни трактовал это свойство как повышение отношения сигнал/шум);

2) хорошая локализация (правильное определение положения границы);

3) единственный отклик на одну границу.

Из этих критериев затем строилась целевая функция стоимости ошибок, минимизацией которой находится "оптимальный" линейный оператор для свертки с изображением.

Алгоритм детектора границ Канни не ограничивается вычислением градиента сглаженного изображения. В контуре границы оставляются только точки максимума градиента изображения, а не максимальные точки, лежащие рядом с границей, удаляются. Здесь также используется информация о направлении границы для того, чтобы удалять точки именно рядом с границей и не разрывать саму границу вблизи локальных максимумов градиента. Затем с помощью двух порогов удаляются слабые границы. Фрагмент границы при этом обрабатывается как целое. Если значение градиента где-нибудь на прослеживаемом фрагменте превысит верхний порог, то этот фрагмент остается также "допустимой" границей и в тех местах, где значение градиента падает ниже этого порога, до тех пор пока она не станет ниже нижнего порога. Если же на всем фрагменте нет ни одной точки со значением большим верхнего порога, то он удаляется. Такой гистерезис позволяет снизить число разрывов в выходных границах. Включение в алгоритм Канни шумоподавления с одной стороны повышает устойчивость результатов, а с другой – увеличивает вычислительные затраты и приводит к искажению и даже потере подробностей границ. Так, например, таким алгоритмом скругляются углы объектов и разрушаются границы в точках соединений.

В общем виде детектор границ Канни функционирует следующим образом[7]:

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

где σ – параметр степени сглаживания (чем выше σ, тем больше сглаживается изображение).

Вычисление градиента изображения в вертикальном и горизонтальномнаправлениях с помощью одного из операторов первой производной ( например: Робертса, Собела, Превитта и др.). Полученные значения объединяются с помощью известной формулы:

Направление градиента:

,

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

Далее выполняется операция non-maximal suppression. Алгоритм уточняет найденные на предыдущем шаге контуры путем обнуления значений градиента, соответствующих тем элементам изображения, которые на самом деле не находятся на вершине «гребня» градиента. Операция осуществляется с использованием двух порогов T1 и Т2, причем . Анализ начинается в точке на «гребне», соответствующее значение градиента которой больше, чемT1, и продолжается до тех пор, пока высота «гребня» станет меньше порога Т2. Данная процедура предназначена для нахождения значимых контуров изображения.

Соседние файлы в папке практика