Morphological Operations

Dilate, erode, reconstruct, and perform other morphological operations

Morphology is a broad set of image processing operations that process images based on shapes. In a morphological operation, each pixel in the image is adjusted based on the value of other pixels in its neighborhood. By choosing the size and shape of the neighborhood, you can construct a morphological operation that is sensitive to specific shapes in the input image.

Functions

expand all

imerodeErode image
imdilateDilate image
imopenMorphologically open image
imcloseMorphologically close image
imtophatTop-hat filtering
imbothatBottom-hat filtering
imclearborderSuppress light structures connected to image border
imfillFill image regions and holes
bwhitmissBinary hit-miss operation
bwmorphMorphological operations on binary images
bwmorph3Morphological operations on binary volume
bwperimFind perimeter of objects in binary image
bwskelReduce all objects to lines in 2-D binary image or 3-D binary volume
bwulterodeUltimate erosion
imreconstructMorphological reconstruction
imregionalmaxRegional maxima
imregionalminRegional minima
imextendedmaxExtended-maxima transform
imextendedminExtended-minima transform
imhmaxH-maxima transform
imhminH-minima transform
imimposeminImpose minima
strelMorphological structuring element
offsetstrelMorphological offset structuring element
conndefCreate connectivity array
iptcheckconnCheck validity of connectivity argument
applylutNeighborhood operations on binary images using lookup tables
bwlookup Nonlinear filtering using lookup tables
makelutCreate lookup table for use with bwlookup
bwpackPack binary image
bwunpackUnpack binary image

Topics

Elements of Morphology

Types of Morphological Operations

The most basic morphological operations are dilation and erosion. You can combine dilation and erosion for more specialized operations.

Morphological Reconstruction

Morphological reconstruction is used to extract marked objects from an image without changing the object size or shape.

Structuring Elements

A structuring element defines the neighborhood used to process each pixel. A structuring element influences the size and shape of objects to process in the image.

Border Padding for Morphology

Morphological dilation and erosion pad the image border in different ways to avoid border effects.

Pixel Connectivity

Connectivity determines whether a center pixel and adjacent pixels belong to the same object.

Lookup Table Operations

A lookup table is a vector in which each element represents the different permutations of pixels in a neighborhood. Lookup tables are useful for custom erosion and dilation operations.

Applications of Morphology

Dilate an Image to Enlarge a Shape

Dilation adds pixels to boundary of an object. Dilation makes objects more visible and fills in small holes in the object.

Erode an Image To Remove Thin Lines

Erosion removes pixels from the boundary of an object. Erosion removes islands and small objects so that only substantive objects remain.

Use Morphological Opening to Extract Large Image Features

You can use morphological opening to remove small objects from an image while preserving the shape and size of larger objects in the image.

Flood-Fill Operations

A flood fill operation assigns a uniform pixel value to connected pixels, stopping at object boundaries.

Featured Examples