File Exchange

image thumbnail

Get Largest Connected Components

version 1.1 (1.79 KB) by

Get n largest connected-components in n-d array, with arbitrary connectivity support

7 Downloads

Updated

View License

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.

Comments and Ratings (4)

lemonmi

lemonmi

Vikram

Vikram (view profile)

Updates

1.1

Just fixed the description part.

MATLAB Release
MATLAB 7.14 (R2012a)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Win prizes and improve your MATLAB skills

Play today