Morphology

Traitement d’images en Python

Rebeca Gonzalez

Data Engineer

Binary images

Traitement d’images en Python

Morphological filtering

  • Better for binary images
  • Can extend for grayscale

Traitement d’images en Python

Morphological operations

  • Dilation
  • Erosion

Traitement d’images en Python

Structuring element

Traitement d’images en Python

Structuring element

Traitement d’images en Python

Shapes in scikit-image

from skimage import morphology

square = morphology.square(4)
[[1 1 1 1]
 [1 1 1 1]
 [1 1 1 1]
 [1 1 1 1]]
rectangle = morphology.rectangle(4, 2)
[[1 1]
 [1 1]
 [1 1]
 [1 1]]
Traitement d’images en Python

Erosion in scikit-image

from skimage import morphology

# Set structuring element to the rectangular-shaped selem = rectangle(12,6)
# Obtain the erosed image with binary erosion eroded_image = morphology.binary_erosion(image_horse, selem=selem)
Traitement d’images en Python

Erosion in scikit-image

# Show result
plot_comparison(image_horse, eroded_image, 'Erosion')

Traitement d’images en Python

Binary erosion with default selem

# Binary erosion with default selem
eroded_image = morphology.binary_erosion(image_horse)

Traitement d’images en Python

Dilation in scikit-image

from skimage import morphology

# Obtain dilated image, using binary dilation
dilated_image = morphology.binary_dilation(image_horse)

# See results plot_comparison(image_horse, dilated_image, 'Erosion')
Traitement d’images en Python

Dilation in scikit-image

Traitement d’images en Python

Let's practice!

Traitement d’images en Python

Preparing Video For Download...