A = [5 2 3 8 7 1 2 2 3]
[labeledA, numRegions] = bwlabel(A < 4)
% Get the size of the regions.
props = regionprops(labeledA, 'Area')
elementCounts = [props.Area]
In the command window:
A =
5 2 3 8 7 1 2 2 3
labeledA =
0 1 1 0 0 2 2 2 2
numRegions =
2
props =
2×1 struct array with fields:
Area
elementCounts =
2 4
And I get sth like this:
elementCounts =
2 4
value =
2 3 1 2 2 3

 Akzeptierte Antwort

Andrei Bobrov
Andrei Bobrov am 19 Dez. 2016

0 Stimmen

One way:
A = [5 2 3 8 7 1 2 2 3]';
b = A < 4;
ii = bwlabel(b);
elementCounts = accumarray(ii(ii>0),1)
value = A(b)

2 Kommentare

Justyna Slawska
Justyna Slawska am 19 Dez. 2016
how to get value when elementCounts==1 (only 1)
out = A(find(elementCounts == 1) == ii)

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Specialized Power Systems finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by