La traducción de esta página está obsoleta. Haga clic aquí para ver la última versión en inglés.
edge
Detectar bordes en una imagen en escala de grises
Sintaxis
Descripción
especifica la orientación de los bordes que se desea detectar. Los métodos de Sobel y de Prewitt pueden detectar bordes en dirección vertical, horizontal o ambas. El método de Roberts puede detectar bordes en ángulos de 45° respecto de la horizontal, de 135° respecto de la horizontal o ambos. Esta sintaxis solo es válida cuando BW
= edge(I
,method
,threshold
,direction
)method
tiene los valores 'Sobel'
, 'Prewitt'
o 'Roberts'
.
[
también devuelve las magnitudes de los gradientes direccionales. Si se emplean los métodos de Sobel y de Prewitt, BW
,threshOut
,Gv
,Gh
] = edge(___)Gv
y Gh
representan los gradientes vertical y horizontal. Si se emplea el método de Roberts, Gv
y Gh
representan los gradientes en ángulos de 45° y 135° de la horizontal, respectivamente. Esta sintaxis solo es válida cuando method
tiene los valores 'Sobel'
, 'Prewitt'
o 'Roberts'
.
Ejemplos
Argumentos de entrada
Argumentos de salida
Algoritmos
Si se emplean métodos de detección de bordes basados en la magnitud del gradiente (Sobel, Prewitt y Roberts),
edge
usathreshold
como umbral para la magnitud del gradiente.Si se emplean los métodos de cruce por cero, incluido el del filtro laplaciano-gaussiano,
edge
usathreshold
como umbral para los cruces por cero. En otras palabras, se detecta un borde si el cruce por cero se da con un salto grande. Si el salto es pequeño, no.El método de Canny aplica dos umbrales al gradiente: un umbral alto (baja sensibilidad de detección) y un umbral bajo (alta sensibilidad de detección).
edge
comienza con el resultado de baja sensibilidad y, después, lo expande hasta incluir los píxeles de los bordes conectados del resultado de alta sensibilidad. Esto contribuye a llenar los posibles huecos en los bordes detectados.En todos los casos,
edge
selecciona el umbral predeterminado de forma heurística a partir de los datos de entrada. La mejor manera de variar el umbral es ejecutaredge
una vez y capturar el umbral calculado como segundo argumento de salida. Después, puede aumentar el umbral respecto del valor que calculaedge
para detectar menos píxeles de borde o reducirlo para detectar más píxeles de borde.
Referencias
[1] Canny, John, "A Computational Approach to Edge Detection," IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. PAMI-8, No. 6, 1986, pp. 679-698.
[2] Lim, Jae S., Two-Dimensional Signal and Image Processing, Englewood Cliffs, NJ, Prentice Hall, 1990, pp. 478-488.
[3] Parker, James R., Algorithms for Image Processing and Computer Vision, New York, John Wiley & Sons, Inc., 1997, pp. 23-29.