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

Community Treasure Hunt

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

Start Hunting!

Translated by