Extracción de límites de la imagen usando MATLAB

El límite de la imagen es diferente de los bordes de la imagen. Los bordes representan el cambio abrupto en los valores de intensidad de los píxeles, mientras que el límite de la imagen es el contorno. Como el límite del nombre sugiere algo cuya propiedad cambia, en la imagen, cuando la propiedad de los píxeles cambia de una superficie a otra, el límite entra en escena. El borde es básicamente la línea límite, pero el límite es la línea o ubicación que divide las dos superficies. 

Tipos de técnicas de extracción de límites

Hay dos tipos de límites en las imágenes binarias.

  • Límite interior: Es la diferencia entre la imagen original y la imagen erosionada. La imagen erosionada es la imagen reducida cuando se aplica erosión a la imagen original. Al tomar la diferencia entre la imagen original y la versión erosionada, obtenemos el límite interior de la imagen. El límite interior es la parte de la superficie principal que separa la otra superficie. La erosión reduce la parte blanca, por lo que el límite es la parte de la superficie blanca en sí.

           Inner boundary = Original image - Eroded image

  • Límite exterior: Es la diferencia entre una imagen dilatada y una imagen original. La imagen dilatada es la imagen expandida cuando se aplica la dilatación a la imagen original. La dilatación aumenta la parte blanca de la imagen. Al tomar la diferencia entre las versiones dilatada y original de la imagen, obtenemos el límite, que es el arte perdido de la superficie negra de la imagen original.
    Outer boundary = Dilated image - Original image

¿Qué son imerode() e imdilate()?

Tanto la erosión como la dilatación son operaciones  morfológicas .

  • imerode(): imerode() es la función integrada de Matlab para la erosión. imerode( I , SE ) erosiona la imagen en escala de grises, binaria o binaria empaquetada.

Sintaxis:

J = imeroda(I,SE)

  • imdilate( ): imdilate( ) es la función incorporada de MatLab para la dilatación. Dilata la imagen en escala de grises, binaria o binaria empaquetada I utilizando el elemento de estructuración SE.

Sintaxis:

J = imdilatar (I, SE)

Ejemplo 1:

Matlab

% MATLAB code for INNER Boundary
% read the image.
k=imread("1.png");
 
% Convert into grayscale.
k=rgb2gray(k);
 
% Define structuring element.
SE=strel('disk',2,0);
 
% Erode the image.
k1=imerode(k,SE);
 
% Take the difference of original
% and eroded image.
k2= k-k1;
 
% Display original image.
imtool(k);
 
% Display inner boundary image.
imtool(k2);

Producción: 

Figura: imagen original e imagen del límite interno

figura: imagen original

figura: imagen del límite interior

Explicación del código:

  • En primer lugar, la función incorporada imread() lee la imagen.
  • La imagen es el logo a color de GFG, lo convertimos a escala de grises.
  • El elemento estructurante se crea para operaciones morfológicas.
  • La imagen se erosiona usando la función incorporada imerode().
  • La imagen erosionada se sustrae de la imagen original.
  • Se muestran ambas imágenes.

Ejemplo 2:

Matlab

% MATLAB code OUTER Boundary
% Read the image.
k=imread("1.png");
 
% Convert to grayscale.
k=rgb2gray(k);
 
% Define the structuring element.
SE=strel('disk',2,0);
 
% Dilate the image.
k1=imdilate(k,SE);
 
% Take the difference
k2= k1-k;
 
% Display original image.
imtool(k);
 
% Display outer boundary image.
imtool(k2);

Producción:

 figura: imagen original e imagen del límite exterior

figura: imagen original

figura: imagen del límite exterior

Publicación traducida automáticamente

Artículo escrito por pintusaini 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 *