How to add an array in a structure as a new field?

15 Ansichten (letzte 30 Tage)
Nut
Nut am 29 Jul. 2016
Kommentiert: Nut am 1 Aug. 2016
Hi,
I'm using the following code to get a structure variable stats, that will have 23 + 1 = 24 fields.
stats = regionprops(bw,'All');
[labeled, nObject] = bwlabel(bw);
for i = 1:nObject
stats(i).Ratio = stats(i).MinorAxisLength/stats(i).MajorAxisLength;
end
The for loop is too slow, because I'm dealing with a huge number of regions, and I have to speed up my code. I tried with this line:
stats(:).AxisRatio=[stats.MinorAxisLength]'./[stats.MajorAxisLength]';
and many others, with no success.
Therefore, is there a way to add the 24th field to the structure more rapidly? In other words, I need the reverse operation than:
prop_array = [struct.prop_field]';
Thanks for your answers.

Akzeptierte Antwort

James Tursa
James Tursa am 29 Jul. 2016
E.g.,
c = num2cell([stats.MinorAxisLength]./[stats.MajorAxisLength]);
[stats.Ratio] = c{:};

Weitere Antworten (0)

Kategorien

Mehr zu Convert Image Type finden Sie in Help 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