MATLAB Answers

0

Error while accessing the STATS properties in regionprops

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.

  0 Comments

Sign in to comment.

1 Answer

Answer by Image Analyst
on 21 Dec 2013
 Accepted Answer

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);

  1 Comment

Sign in to comment.