我需要保存循环中生成的多个点云。我试图将它们保存在一个返回错误的数组中:
不允许使用类'pointCloud'的对象进行数组形式和括号样式索引。
while i<=N
.
.
[imageDepth, pointCld] = getPointCloud(cp, maxDistance);
imgDepthAll(:,:,i) = imageDepth;
pointCldAll(:,:,i) = pointCld;
.
.
i = i+1;
end
我该如何解决这个问题?非常感谢你。
答案 0 :(得分:2)
第二个输出(pointCld
)是PointCloud2
object,显然不支持放入数组。因此,您可能希望将它们放入单元格数组中。
pointCldAll{k} = pointCld;
如果您想要来自此对象的实际XYZ或RGB数据,您将需要使用以下方法访问它,然后您可以将它们存储在普通数组中。
xyz = readXYZ(pointCld)
rgb = readRGB(pointCld)
或者获取Location
属性并存储 。
loc = pointCld.Location