Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.
En una imagen, un borde es una curva que sigue un camino de cambio rápido en la intensidad de la imagen. Las aristas a menudo se asocian con los límites de los objetos de una escena. La detección de bordes se utiliza para identificar los bordes de una imagen.
Para buscar aristas, puede utilizar la función.edge
Esta función busca lugares en la imagen donde la intensidad cambia rápidamente, utilizando uno de estos dos criterios:
Lugares donde la primera derivada de la intensidad es mayor en magnitud que algunos umbrales
Lugares donde la segunda derivada de la intensidad tiene un cruce cero
proporciona varios estimadores derivados, cada uno de los cuales implementa una de estas definiciones.edge
Para algunos de estos estimadores, puede especificar si la operación debe ser sensible a aristas horizontales, aristas verticales o ambas. devuelve una imagen binaria que contiene 1 donde se encuentran los bordes y 0 en otro lugar.edge
El método de detección de bordes más potente que proporciona es el método Canny.edge
El método Canny difiere de los otros métodos de detección de bordes en que utiliza dos umbrales diferentes (para detectar bordes fuertes y débiles) e incluye los bordes débiles en la salida solo si están conectados a bordes fuertes. Por lo tanto, este método es menos probable que los demás se vean afectados por el ruido, y más propensos a detectar bordes débiles verdaderos.
En este ejemplo se muestra cómo detectar bordes en una imagen utilizando el detector de bordes Canny y el detector de bordes Sobel.
Lea la imagen y muésela.
I = imread('coins.png'); imshow(I)
Aplique los detectores de bordes Sobel y Canny a la imagen y muéstralos para su comparación.
BW1 = edge(I,'sobel'); BW2 = edge(I,'canny'); figure; imshowpair(BW1,BW2,'montage') title('Sobel Filter Canny Filter');