点云处理学习笔记(一)

今天用自己制作的地图在Carla中跑,然后用之前叶小飞大佬写的简单的pythonapi引用的源码,跑了一下啊,最后收集有关于vehicle运行过程中的camera和lidar的文件,分别是jpg和ply格式的。但它们都输出在一个文件夹里面了

点云处理学习笔记(一)_第1张图片

明天汇报需要显示一下点云格式的地图,然后在网上找到一份源码,可以利用matlab显示ply格式的点云地图,源码如下:

path=strcat('D:\points_cloud\file2\');       %当前所在目录
file = dir(fullfile(path,'*.ply'));    %读取所有ply格式文件
filenames = {file.name}';

for idx = 1 : length(file)               %批处理
    filedir = strcat(path, filenames(idx));
    ptCloud=pcread(filedir{1});   %ply格式文件用pcread读取
    
    ptCX = ptCloud.Location(:,1);
    ptCY = ptCloud.Location(:,2);
    ptCZ = ptCloud.Location(:,3);

    c = ptCZ;%c表示对z轴进行着色
    scatter3(ptCX, ptCY, ptCZ,10,c,'.')
    
    xlim([-20 20]);%限制坐标轴范围
    ylim([-20 20]);
    zlim([-6 6]);
    view([1,1,1]);
    
    pause(0.001)%调整两帧间延迟时间
    
end

 这份源码是可以提取当前文件中所有后缀为.ply的文件,然后在用for循环把它显示出来,感觉很有普遍性,mark一下啊。

然后根据这个源码,我看了下输出的来源文件里面有不同格式的文件有.jpg和.ply格式,就像想有没有类似的文件处理代码,可以把统一种类的文件,区分保存到指定的文件。在网上一搜果然有很多类似的源码,随便copy了一个:

path=strcat('D:\points_cloud\output_basic_api\');       %当前所在目录
file = dir(fullfile(path,'*.ply'));    %读取所有ply格式文件

filenames = {file.name}';
for i=1:length(file)
    filedir = strcat(path, filenames(i));
    pclData = pcread(filedir{1});
    saveddir = 'D:\points_cloud\file2';
    savedname = fullfile(saveddir,file(i).name);
    pcwrite(pclData,savedname);
end

之前原来版本是imread然后一直报错,后来才发现点云要专门的用pcread来读取。。。

你可能感兴趣的:(点云学习,学习)