Aplicación de operaciones morfológicas

Es posible aplicar varias operaciones morphológicas sobre una imagen dada usando el módulo skimage.morphology de la siguiente manera:

from skimage.morphology import dilation, erosion, opening, closing

dilated_image = dilation(image, footprint=area)
eroded_image = erosion(image, footprint=area)
opening_image = opening(image, footprint=area)
closing_image = closing(image, footprint=area)

Cada operación tiene su equivalente para imágenes binarias si se agrega el prefijo binary_ antes de cada una (p.ej binary_dilation).

Area corresponde al área o la forma de la huella con la que se aplicará la operación morfológica respectiva. Por ejemplo:

from skimage.morphology import footprint_rectangle

fp = footprint_rectangle(5,5)

Permite generar una matriz de 5x5 binaria (0s y 1s) para la aplicación de la operación. También es posible generar a través de numpy una matriz a la medida de otros tipos de operadores diferentes.

El parámetro footprint también permite indicar sucesivas áreas para aplicar a manera de una lista de tuplas footprints así:

from skimage.morphology import dilation

dilated_image = dilation(image, footprint=[(np.ones((3,1)),2),(np.ones((1,3)),3)])

Aplica la operación de dilatación usando un filtro de 3x1 en 2 iteraciones y luego la aplica en un filtro de 1x3 en 3 iteraciones.

Mayor detalle de estas funciones se puede consultar en la documentación del módulo.

Last updated