Operaciones morfológicas en MATLAB

Operaciones morfológicas es un amplio conjunto de operaciones de procesamiento de imágenes que procesan imágenes digitales en función de sus formas. En una operación morfológica, cada píxel de la imagen se corresponde con el valor de otro píxel en su vecindad. Al elegir la forma y el tamaño del píxel de vecindad, puede construir una operación morfológica que sea sensible a formas específicas en la imagen de entrada. Las operaciones morfológicas aplican un elemento estructurante llamado strel en Matlab a una imagen de entrada, creando una imagen de salida del mismo tamaño. 

Tipos de operaciones morfológicas: 
 

  • Dilatación: la dilatación agrega píxeles en los límites del objeto.
  • Erosión: la erosión elimina píxeles en los límites del objeto.
  • Abrir: La operación de apertura erosiona una imagen y luego dilata la imagen erosionada, utilizando el mismo elemento estructurante para ambas operaciones.
  • Cerrar: La operación de cierre dilata una imagen y luego erosiona la imagen dilatada, utilizando el mismo elemento estructurante para ambas operaciones.

El número de píxeles agregados o eliminados del objeto en una imagen depende de la forma y el tamaño del elemento estructurante utilizado para procesar la imagen. En las operaciones de dilatación y erosión morfológica, el estado de cualquier píxel dado en la imagen de salida se determina aplicando una regla al píxel correspondiente y sus vecinos en la imagen de entrada. La regla utilizada para procesar los píxeles define la operación morfológica como una dilatación o una erosión. 

A continuación se muestra el código de Matlab para operaciones morfológicas: 

# Importing the image
I = imread("flowers.jpg"); 
subplot(2, 3, 1),  
imshow(I); 
title("Original image"); 
  
% Dilated Image 
se = strel("line", 7, 7); 
dilate = imdilate(I, se); 
subplot(2, 3, 2),  
imshow(dilate); 
title("Dilated image"); 
  
% Eroded image 
erode = imerode(I, se); 
subplot(2, 3, 3),  
imshow(erode); 
title("Eroded image"); 
  
% Opened image 
open = imopen(I, se); 
subplot(2, 3, 4),  
imshow(open); 
title("Opened image"); 
  
% Closed image 
close = imclose(I, se); 
subplot(2, 3, 5),  
imshow(close); 
title("Closed image"); 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *