Get Largest Connected Components
The function returns N-D logical array (same size as the input array) with the n largest connected-components indices set.
Inputs:
-------
Xin - input N-D array. Required.
conn - connectivity definition, can be either a scalar or connectivity array, with same number of dimensions as the input array. If empty or omitted , 'conn' will be set to scalar 3^ndims(Xin)-1.
n - Number of returned largest connected-components. If omitted, 'n' will be set to 1. If 'n' is greater than N, the actual number of connected-components in the array, N will be used instead.
Outputs:
--------
Xout - Output N-D array (same size as Xin), with only the n largest connected-components indices set.
rp - vector of length n of structures containing information about the size of the connected-components and their indices, arranged in descending order of size.
Example (2D):
I = rand(100,100) > 0.75;
[J rp] = getLargestCc(I,[],3);
I is a random 2D "image". J is a copy of I with only the 3 largest connected-components set.
Despite the fact that the example is for a very simple 2D image, the code applies to N-D arrays as well.
Comments and questions to: ran.shadmi@gmail.com.
Cite As
Ran Shadmi (2025). Get Largest Connected Components (https://www.mathworks.com/matlabcentral/fileexchange/39094-get-largest-connected-components), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
- Image Processing and Computer Vision > Image Processing Toolbox > Image Filtering and Enhancement > Morphological Operations >
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.