В основном в литературе, посвященной алгоритмам обнаружения кромок и приложениям, в которых используется обнаружение кромок, упоминается детектор кромок Canny. Настолько, что это выглядит почти как «решение» для обнаружения краев. Конечно, он лучше всего справится с балансировкой шума и сохранением краев.
Однако, как любопытство, есть ли область беспокойства для детектора края Кэнни? или есть области применения, где Canny не будет лучшим?
В этом контексте более быстрая реализация не имеет большого значения. В центре внимания детектора кромок - хорошее или плохое - должно быть качество и полезность генерируемых кромок.
Кроме того, я действительно не сосредотачиваюсь на конкретных вопросах реализации. Я ищу более теоретические ограничения или характеристики, присущие алгоритму.
источник
Ответы:
Исходя из моего опыта, следующие пункты являются ограничениями:
Также из-за гауссова сглаживания: расположение ребер может быть отключено, в зависимости от размера гауссова ядра.
Метод имеет проблемы с углами и перекрестками:
Эта последняя проблема решается методом SUSAN , который лучше соединяет ребра, а также приводит к хорошим переходам, как показано на следующих рисунках, приведенных в связанном документе:
Тест входного изображения:
Результаты SUSAN:
Результаты Canny:
Вы можете ясно видеть, что SUSAN находит углы и перекрестки вместо Canny.
источник
Я могу думать о нескольких:
источник
По моему опыту, процесс обнаружения краев с помощью хитрого детектора краев сглаживает края, прежде чем их можно будет обнаружить, а время и длина фильтра должны идеально подходить для обнаружения всех краев без ошибок.
источник
Я просто хочу упомянуть одно ограничение детектора Canny, которое препятствует его применению, и это настройка параметров. Я думаю, что установка параметров - это не только проблема детектора Canny, но и проблема других методов обнаружения краев.
источник