首先要确保xyz数据维数为n×3,否则通过矩阵运算将其转换,例如:
Data=[spotx;spoty;spotz]';%注意有求逆运算
然后通过matlab自带的pcwrite函数进行转换,亲测2016b版本没有此函数,需要安装2018a版本
Data=single(Data);
ptCloud = pointCloud(Data(:,1:3));
pcwrite(ptCloud, 'test.pcd', 'Encoding', 'ascii'); %将程序中的xyz数据写入pcd文件中
pc = pcread('test.pcd');
pcshow(pc); %显示点云
不出意外的话已经生成了.pcd文件,可以在目录窗口找到文件路径,我的在bin文件夹下