Image MatLab:向单元格添加循环中不断增加的数据值

Image MatLab:向单元格添加循环中不断增加的数据值,image,matlab,cell,Image,Matlab,Cell,我有一个循环,它运行在一组对象上(来自图像)。这些对象用于计算图片中对象的面积、周长、圆度和圆度。该程序拍摄一批图片,检测对象并计算这些指标。我的问题是: 我无法将数据保存为矩阵,因为每张图片不包含一定数量的颗粒,即包含面积、周长等的向量不具有相同的长度。所以现在我正在尝试细胞。但是我不能让它工作 这是我的密码: %% Calculating metrics for k = 1 : length(theFiles) % loop over the boundaries for

我有一个循环,它运行在一组对象上(来自图像)。这些对象用于计算图片中对象的面积、周长、圆度和圆度。该程序拍摄一批图片,检测对象并计算这些指标。我的问题是:

我无法将数据保存为矩阵,因为每张图片不包含一定数量的颗粒,即包含面积、周长等的向量不具有相同的长度。所以现在我正在尝试细胞。但是我不能让它工作

这是我的密码:

    %% Calculating metrics

for k = 1 : length(theFiles) 
  % loop over the boundaries
  for j = 1:obj2

  %Plotting boundaries
  boundary = B{j};
  plot(boundary(:,2), boundary(:,1),'w','LineWidth',2)
  drawnow

  % obtain (X,Y) boundary coordinates corresponding to label 'j'
  boundary = B{j};

  % compute a simple estimate of the object's perimeter
  delta_sq = diff(boundary).^2;
  perimeter = sum(sqrt(sum(delta_sq,2)));
  perimeterD{k}(j)=[perimeter];

  % obtain the area calculation corresponding to label 'k'
  area = stats(j).Area;
  areaD{k}{j,1}=area;

  % compute the roundness metric
  metric = 4*pi*area/perimeter^2;
  metricD{k}{j,1}=metric;

  end
end
其中文件是分析的图像

问题是,当运行两个图像时,我会得到一个单元格:

areaD = 

{40x1 cell}    {27x1 cell}
我想要的是:

areaD =
[ 40x1 double] [ 27x1 double]
或者我应该使用结构来代替

干杯,
Martin

你想要的只是在单元格中,因为所有列的矩阵长度都必须相同,但是你可以在单个结构中保存它,这可能会容易得多,一个strture可以有不同长度的向量。存储到一个结构中的另一个好处是,你可以在一个sam结构中存储完全不同类型的数据。是的,我在考虑这个问题。我确实解决了这个问题,它现在可以和细胞一起工作。但结构可能会更好。谢谢面积{k}(j,1)=面积;