Main Content


Morphologically close image



J = imclose(I,SE) performs morphological closing on the grayscale or binary image I, using the structuring element SE. The morphological close operation is a dilation followed by an erosion, using the same structuring element for both operations.

J = imclose(I,nhood) closes the image I, where nhood is a matrix of 0s and 1s that specifies the structuring element neighborhood.

This syntax is equivalent to imclose(I,strel(nhood)).


collapse all

Read a binary image into the workspace and display it.

originalBW = imread('circles.png');

Create a disk-shaped structuring element. Use a disk structuring element to preserve the circular nature of the object. Specify a radius of 10 pixels so that the largest gap gets filled.

se = strel('disk',10);

Perform a morphological close operation on the image.

closeBW = imclose(originalBW,se);
figure, imshow(closeBW)

Input Arguments

collapse all

Input image, specified as a grayscale image or binary image of any dimension.

Data Types: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | logical

Structuring element, specified as a single strel object or offsetstrel object. If the image I is data type logical, then the structuring element must be flat.

Structuring element neighborhood, specified as a matrix of 0s and 1s.

Example: [0 1 0; 1 1 1; 0 1 0]

Output Arguments

collapse all

Closed image, returned as a grayscale image or binary image. J has the same data type as input image I.


  • If the dimensionality of the image I is greater than the dimensionality of the structuring element, then the imclose function applies the same morphological closing to all planes along the higher dimensions.

    You can use this behavior to perform morphological closing on RGB images. Specify a 2-D structuring element for RGB images to operate on each color channel separately.

  • When you specify a structuring element neighborhood, imclose determines the center element of nhood by floor((size(nhood)+1)/2).

Extended Capabilities

Version History

Introduced before R2006a

expand all

See Also