Error while accessing the STATS properties in regionprops

2 views (last 30 days)
if true
% code
STATS = regionprops(L, 'Extrema','Centroid');
if norm([STATS.Extrema(2,1), STATS.Extrema(2,2)]-[STATS.Extrema(1,1), STATS.Extrema(1,2)])<5
%statements
end
end
But I am getting an error stated below excatly on the line " if norm([STATS.Extrema(2,1), STATS.Extrema(2,2)]-[STATS.Extrema(1,1), STATS.Extrema(1,2)])<5 "
Field reference for multiple structure elements that is followed by more reference blocks is an error.
Can somebody please help how to solve this one? Thank you.

Accepted Answer

Image Analyst
Image Analyst on 21 Dec 2013
STATS is s structure array, so you're going to have to refer to a certain index when you refer to is, like
extrema7 = STATS(7).Extrema;
Or you're going to have concatenate them all into one array
allExtrema = [STATS.Extrema];
allExtremaX = allExtrema (1:2:end);
allExtremaY = allExtrema (2:2:end);

More Answers (0)

Community Treasure Hunt

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

Start Hunting!