原因:使用matlab生成的pcd文件,点云数据是双精度类型,pcl处理的点云数据是单精度类型。
解决方案:使用matlab生成的点云坐标单精度化,然后在生成点云加以存储。
//matlab
%%根据xyz信息创建pcd文件并绘制点云图
A=xlsread('E:\点云数据\Points_cloud\Points_cloud\3+\2023-07-26-17-18-04_Velodyne-HDL-32-Data (Frame 0113).csv');
% pcData=[spotx;spoty;spotz];
ptCloud = pointCloud(singel(A(:,1:3)));
pcwrite(ptCloud, 'test.pcd', 'Encoding', 'ascii'); %将程序中的xyz数据写入pcd文件中
pc = pcread('test.pcd');
pcshow(pc); %显示点云