Main Content

Dilatar una imagen para ampliar una forma

En este ejemplo se muestra cómo dilatar una imagen mediante la función.imdilate La operación de dilatación morfológica expande o engrosa los objetos de primer plano de una imagen.

Cree una imagen binaria de ejemplo simple que contenga un objeto de primer plano: la región cuadrada de 1 en el centro de la imagen.

BW = zeros(9,10); BW(4:6,4:7) = 1
BW = 9×10

     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0
     0     0     0     1     1     1     1     0     0     0
     0     0     0     1     1     1     1     0     0     0
     0     0     0     1     1     1     1     0     0     0
     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0

imshow(imresize(BW,40,'nearest'))

Cree un elemento de estructuración para utilizarlo con .imdilate Para dilatar un objeto geométrico, normalmente se crea un elemento de estructuración que tiene la misma forma que el objeto.

SE = strel('square',3)
SE =  strel is a square shaped structuring element with properties:        Neighborhood: [3x3 logical]     Dimensionality: 2  

Dilate la imagen, pasando la imagen de entrada y el elemento de estructuración a .imdilate Observe cómo la dilatación agrega un rango de 1 a todos los lados del objeto de primer plano.

BW2 = imdilate(BW,SE)
BW2 = 9×10

     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0
     0     0     1     1     1     1     1     1     0     0
     0     0     1     1     1     1     1     1     0     0
     0     0     1     1     1     1     1     1     0     0
     0     0     1     1     1     1     1     1     0     0
     0     0     1     1     1     1     1     1     0     0
     0     0     0     0     0     0     0     0     0     0
     0     0     0     0     0     0     0     0     0     0

imshow(imresize(BW2,40,'nearest'))

Para la comparación, cree un elemento de estructuración que sea una forma diferente. Dilatar la imagen original utilizando el nuevo elemento de estructuración.

SE2 = strel('diamond',1); BW3 = imdilate(BW,SE2); imshow(imresize(BW3,40,'nearest'))