Adaptive Canny edge detection

11 visualizaciones (últimos 30 días)
Sara A.
Sara A. el 19 de Ag. de 2016
Comentada: Sara A. el 19 de Ag. de 2016
What is Adaptive Canny edge detection ? and what is the difference between it and canny edge detection? and why Adaptive Canny Edge detection is better than Canny edge detection? and is it implemented in matlab ?

Respuesta aceptada

Ryan
Ryan el 19 de Ag. de 2016
Canny edge detection is accomplished using the edge function. Matlab will get "automatic/adaptive" thresholds if you don't specify thresholds as an argument. An easy way to implement this is to simply call Edge twice; first to get an initial capture of the thresholds, then to adjust thresholds as needed based on the automatic thresholds.
[~,threshOut = edge(I,'Canny');
threshold = threshOut*1.0;
BW1 = edge(I,'Canny',threshold);
Just adjust the multiplier to adjust thresholds. Matlab's adaptive technique is fairly straightforward, and I believe it is a variant of the Otsu method; they simply throw out 70% of the detected edge pixels for the high threshold, and the low threshold is some constant factor multiplied by the high threshold.
There are a number of other self-adaptive ways to choose Canny thresholds, a few are detailed here: http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=5476095
  1 comentario
Sara A.
Sara A. el 19 de Ag. de 2016
Yes, I saw the constant PercentOfPixelNotEdge is 0.7 So the only difference between canny edge detection and adaptive canny is the automatic threshold technique Thank you for your answer

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by