登录论坛

查看完整版本 : 将输入添加到Matlab单元格数组中的多行


poster
2019-12-10, 20:41
我想知道如何获取某些输入并将它们放入单元格数组的多行中……我基本上想要一个数组,该数组在ever循环中每行更新一个输入。该循环循环了30次,所以我想有30行和2列(x和y列)

我有这个代码:

For N=1:30 . . . Binary = bwlabel(blacknwhite); s = regionprops(Binary,'centroid'); centroids = cat(1, s.Centroid); hold(imgca,'on') plot(imgca,centroids(1,1), centroids(1,2),'r*') . . . end 我不认为这可以满足我的需要...在循环中仅更新第一行..那么如何创建此单元格数组呢?

如果您需要更多信息,请告诉我,我会立即更新。

谢谢 !



回答:

我假设您要存储质心。在这种情况下,应使用centroids(N,:)=cat...另外,就像@High Performance Mark所说的那样,您应该预分配数组。

centroids = zeros(30,2); %# this assumes 1 centroid per image. For N=1:30 . . . Binary = bwlabel(blacknwhite); s = regionprops(Binary,'centroid'); centroids(N,:) = cat(1, s.Centroid); hold(imgca,'on') plot(imgca,centroids(N,1), centroids(N,2),'r*') . . . end

更多&回答... (https://stackoverflow.com/questions/2845570)