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.

Detección de bordes

En una imagen, una arista es una curva que sigue una ruta de cambio rápido en la intensidad de la imagen. Las aristas se asocian a menudo con los límites de los objetos de una escena. La detección de bordes se utiliza para identificar las aristas 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 algún umbral

  • Lugares donde la segunda derivada de la intensidad tiene un cruce de 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 bordes horizontales, bordes verticales o ambos. Devuelve una imagen binaria que contiene 1 ' s 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 otros a verse afectados por el ruido, y es más probable que detecte verdaderos bordes débiles.

Detectar aristas en imágenes

Este ejemplo muestra cómo detectar aristas en una imagen utilizando tanto el detector de bordes Canny como el detector de bordes Sobel.

Leer la imagen y mostrarla.

I = imread('coins.png'); imshow(I)

Aplique los detectores de bordes Sobel y Canny a la imagen y mostrarlos para su comparación.

BW1 = edge(I,'sobel'); BW2 = edge(I,'canny'); figure; imshowpair(BW1,BW2,'montage') title('Sobel Filter                                   Canny Filter');