How to add an array in a structure as a new field?
16 views (last 30 days)
Show older comments
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.
0 Comments
Accepted Answer
James Tursa
on 29 Jul 2016
E.g.,
c = num2cell([stats.MinorAxisLength]./[stats.MajorAxisLength]);
[stats.Ratio] = c{:};
More Answers (0)
See Also
Categories
Find more on Convert Image Type in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!