从Matlab中的结构类型数据生成点云

时间:2018-07-10 09:20:59

标签: python matlab point-clouds

我在matlab中有一个struct文件。我想将结构表中的x,y,z可视化为云点。怎么可能?

2 个答案:

答案 0 :(得分:0)

Matlab's documentation提供了开始解决此问题所需的所有信息!

这里只是链接,可帮助您开始使用visualizing point clouds使用Matlab。

请注意,Matlab倾向于希望您使用computer vision toolbox进行点云处理。

这是一个简单的示例(original link),它加载茶壶的点云文件。

查看旋转的3D点云

负载点云。

ptCloud = pcread('teapot.ply');

定义旋转矩阵和3-D变换。

x = pi/180; 
R = [ cos(x) sin(x) 0 0
     -sin(x) cos(x) 0 0
      0         0   1 0
      0         0   0 1];

tform = affine3d(R);

计算x- y 限制,以确保旋转的茶壶不被剪断。

lower = min([ptCloud.XLimits ptCloud.YLimits]);
upper = max([ptCloud.XLimits ptCloud.YLimits]);

xlimits = [lower upper];
ylimits = [lower upper];
zlimits = ptCloud.ZLimits;

创建播放器并自定义播放器轴标签。

player = pcplayer(xlimits,ylimits,zlimits);

xlabel(player.Axes,'X (m)');
ylabel(player.Axes,'Y (m)');
zlabel(player.Axes,'Z (m)');

围绕z轴旋转茶壶。

for i = 1:360      
    ptCloud = pctransform(ptCloud,tform);     
    view(player,ptCloud);     
end

答案 1 :(得分:-1)

您可以使用pcshow()命令。 使用所需的x,y,z值作为输入,例如

pcshow(x,y,z)