Canny Edge vs Thresholding для оценки контура в Open CV

Я использую Open CV для приложения обработки изображений, которое включает оценку контуров изображений. Что я хотел бы знать, так это пороговое значение изображения (например, как они сделали здесь) или с помощью алгоритма Canny Edge (здесь) дает лучший результат. Это связано с алгоритмическим анализом или я что-то упустил?


person rohit-biswas    schedule 28.03.2015    source источник


Ответы (1)


Canny Edge Detection, очевидно. Он делает целую кучу вещей, чтобы гарантировать, что в результате будут получаться только сильные края. Пороговое значение просто смотрит на интенсивность и видит, является ли каждое значение меньше или больше, и мы соответственно получаем «краевые» точки. Однако, в зависимости от сложности сцены, пороговое значение и обнаружение границ могут привести к одному и тому же результату. Например, если у вас есть чистое изображение с несколькими четкими объектами, которые имеют явную разницу в интенсивности между передним планом и фоном, тогда будет работать либо обнаружение краев, либо пороговое значение. Если у вас есть более сложное изображение, контрастность которого различается в разных областях, или если у вас есть несколько объектов с разной интенсивностью, то пороговое значение не даст вам хороших результатов, потому что вы неизбежно будете включать в себя пиксели, которые не принадлежат ни одному правильному изображению. объекты. Вот почему обнаружение границ лучше, так как это локальный оператор, а пороговое значение глобальное. Пороговое значение применяет заданный принцип к каждому пикселю изображения. Обнаружение краев разбивает ваше изображение на фрагменты и выясняет, происходит ли что-то в каждом из фрагментов.


Если вы хотите что-то извлечь из этого, разница между ними заключается в том, что пороговое значение больше используется для извлечения объектов, в то время как обнаружение краев является этапом предварительной обработки в конвейере обработки, таким как оценка контура, обнаружение и распознавание объектов и функции. анализ. Пороговое определение — это довольно быстрый и грязный способ увидеть, происходит ли что-то или нет, или извлечь «активные» вещи, в то время как обнаружение краев больше подходит для задач, связанных с компьютерным зрением.


Вместо того, чтобы объяснять, чем Canny Edge Detection лучше, я собираюсь отослать вас к некоторой литературе.


Надеюсь это поможет!

person rayryeng    schedule 28.03.2015
comment
@ user3829158 - С удовольствием :) Удачи! - person rayryeng; 29.03.2015