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.

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'))