Detección de bordes: en una imagen, un borde es una curva que sigue un camino de cambio rápido en la intensidad de esa imagen. Los bordes a menudo se asocian con los límites del objeto en un entorno de escena. La detección de bordes se utiliza para identificar los bordes de una imagen para facilitar el procesamiento de imágenes. La detección de bordes funciona al detectar discontinuidades en el brillo. La detección de bordes se utiliza principalmente para la segmentación de imágenes y la extracción de datos en áreas como el procesamiento de imágenes, la visión artificial y la visión artificial.
Para encontrar bordes, puede utilizar la función de borde integrada edge(image, Edge detector) de Matlab. Esta función incorporada 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 valor de umbral.
- Lugares donde la segunda derivada de la intensidad tiene un cruce por cero.
Los detectores de bordes proporcionan varios estimadores derivados, cada uno de los cuales implementa una de las definiciones mencionadas anteriormente. Para algunos de estos estimadores, puede especificar si la operación debe ser sensible a los bordes verticales, a los bordes horizontales o a ambos. Los estimadores de borde devuelven una imagen binaria que contiene 1 donde se encuentran los bordes y 0 en cualquier otro lugar.
La técnica de detección de bordes más poderosa que proporciona Edge es el método Canny. El método Canny se diferencia de los otros métodos de detección de bordes en que utiliza dos tipos diferentes de niveles de umbral para detectar bordes fuertes y débiles. El método de detección de bordes Canny incluye los bordes débiles en la salida solo si están conectados a bordes fuertes. Por lo tanto, es menos probable que este método se vea afectado por el ruido y es más probable que detecte verdaderos bordes débiles.
Hay muchas funciones incorporadas de detección de bordes disponibles en Matlab como:
- Detector de bordes Sobel
- Detector de bordes Prewitt
- detector de borde robert
- Detector de borde de registro
- detector de borde de paso por cero
- detector de borde astuto
Detección de bordes utilizando la función de biblioteca MATLAB.
Matlab
% importing the image I = rgb2gray(imread("flowers.jpg")); subplot(2, 4, 1), imshow(I); title("Gray Scale Image"); % Sobel Edge Detection J = edge(I, 'Sobel'); subplot(2, 4, 2), imshow(J); title("Sobel"); % Prewitt Edge detection K = edge(I, 'Prewitt'); subplot(2, 4, 3), imshow(K); title("Prewitt"); % Robert Edge Detection L = edge(I, 'Roberts'); subplot(2, 4, 4), imshow(L); title("Robert"); % Log Edge Detection M = edge(I, 'log'); subplot(2, 4, 5), imshow(M); title("Log"); % Zerocross Edge Detection M = edge(I, 'zerocross'); subplot(2, 4, 6), imshow(M); title("Zerocross"); % Canny Edge Detection N = edge(I, 'Canny'); subplot(2, 4, 7), imshow(N); title("Canny");
Producción:
Publicación traducida automáticamente
Artículo escrito por SakshiBhakhra y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA