[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #44100] image package: regionprops could easil
From: |
H. G. |
Subject: |
[Octave-bug-tracker] [bug #44100] image package: regionprops could easily deliver more properties |
Date: |
Fri, 30 Jan 2015 23:56:26 +0000 |
User-agent: |
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:35.0) Gecko/20100101 Firefox/35.0 |
Follow-up Comment #4, bug #44100 (project octave):
Sorry for the confusion. Here is a shorter version that does the very same:
case "majoraxislength"
for k = 1:num_labels
[Y, X] = find (L == k);
if (numel(Y) > 1)
% calculate (centralised) second moment of region
C = cov ([X(:), Y(:)]);
lambda = eig (C);
retval (k).MajorAxisLength = 4 * sqrt(max(lambda));
else
retval (k).MajorAxisLength = 1;
endif
endfor
case "minoraxislength"
for k = 1:num_labels
[Y, X] = find (L == k);
if (numel(Y) > 1)
% calculate (centralised) second moment of region
C = cov ([X(:), Y(:)]);
lambda = eig (C);
retval (k).MinorAxisLength = 4 * sqrt(min(lambda));
else
retval (k).MinorAxisLength = 1;
endif
endfor
case "eccentricity"
for k = 1:num_labels
[Y, X] = find (L == k);
if (numel(Y) > 1)
% calculate (centralised) second moment of region
C = cov ([X(:), Y(:)]);
lambda = eig (C);
major = 2 * sqrt(max(lambda));
minor = 2 * sqrt(min(lambda));
retval (k).Eccentricity = sqrt((major)^2 - (minor)^2) / major;
else
retval (k).Eccentricity = 0; % a circle has 0 eccentricity
endif
endfor
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?44100>
_______________________________________________
Nachricht gesendet von/durch Savannah
http://savannah.gnu.org/