Main Content


Morphologically close image



J = imclose(I,SE) performs morphological closing on the grayscale or binary image I, returning the closed image, J. SE is a single structuring element object returned by the strel or offsetstrel functions. 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. The imclose function determines the center element of the neighborhood by floor((size(nhood)+1)/2).

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');

Figure contains an axes. The axes contains an object of type image.

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)

Figure contains an axes. The axes contains an object of type image.

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 class as input image I.

Compatibility Considerations

expand all

Behavior changed in R2017a

Extended Capabilities

See Also



Introduced before R2006a