Concatenating Tables with Regionprops

4 次查看(过去 30 天)
Hello,
I would like to concatenate multiple regionprops tables together that are generated one by one in a loop. However, I was not sure how to initialize the first table. What I did was create a table of zeros and assign all of the variable names. The error I am getting however is "Dimensions of arrays being concatenated are not consistent." Both tables are 1 by 33, but the error comes in from the centroid entry, for example. The centroid in regionprops has two entries, the x and y value, but the table I initialized only has one entry under centroids. How can I initialize the table such that the variable Centroid is assigned two entries? If that is not possible, is there a better way to go about concatenating regionprops tables that are generated in loop?

采纳的回答

Ameer Hamza
Ameer Hamza 2020-10-29
编辑:Ameer Hamza 2020-10-29
Letting your table grow dynamically might not an efficient coding approach. It would be better if you save the tables in a cell array and then attach them together after the loops are completed. For example
regions = cell(1,n)
for i = 1:n
regions{i} = regionprops('table', ..)
end
all_regions = vertcat(regions{:});
Also, this approach does not require you to manually initialze the table.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by