保存多个类对象(点云)

时间:2016-06-24 15:53:31

标签: matlab point-clouds

我需要保存循环中生成的多个点云。我试图将它们保存在一个返回错误的数组中:

  

不允许使用类'pointCloud'的对象进行数组形式和括号样式索引。

while i<=N
.
.
[imageDepth, pointCld] = getPointCloud(cp, maxDistance);
 imgDepthAll(:,:,i) = imageDepth;
 pointCldAll(:,:,i) = pointCld;
.
.
 i = i+1;
end

我该如何解决这个问题?非常感谢你。

1 个答案:

答案 0 :(得分:2)

第二个输出(pointCld)是PointCloud2 object,显然不支持放入数组。因此,您可能希望将它们放入单元格数组中。

pointCldAll{k} = pointCld;

如果您想要来自此对象的实际XYZ或RGB数据,您将需要使用以下方法访问它,然后您可以将它们存储在普通数组中。

xyz = readXYZ(pointCld)
rgb = readRGB(pointCld)

或者获取Location属性并存储

loc = pointCld.Location