Morphology

Image Processing in Python

Rebeca Gonzalez

Data Engineer

Binary images

Image Processing in Python

Morphological filtering

  • Better for binary images
  • Can extend for grayscale

Image Processing in Python

Morphological operations

  • Dilation
  • Erosion

Image Processing in Python

Structuring element

Image Processing in Python

Structuring element

Image Processing in 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]]
Image Processing in 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)
Image Processing in Python

Erosion in scikit-image

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

Image Processing in Python

Binary erosion with default selem

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

Image Processing in 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')
Image Processing in Python

Dilation in scikit-image

Image Processing in Python

Let's practice!

Image Processing in Python

Preparing Video For Download...