• PCDViewer的常用操作


    PCDViewer是一款功能强大但操作极为简单的点云可视化和编辑软件,支持对点云的渲染显示、查询、量测、建图拼接、编辑、格式转换等功能,同时支持了pose文件、矢量文件等的显示。PCDViewer目前提供了Windows、Ubuntu18.04、Ubuntu20.04等版本。

    本页面总结了PCDViewer的基本、常用操作。为正常使用文档中介绍的功能,建议用户下载最新版软件。

    PCDViewer Release Page_Jacky_546287052的博客-CSDN博客

    PCDViewer Auto Rotation


    目录

    1. 启动软件    

    2. 打开点云

    3. 点云的渲染

    4. 可视化操作控制

    5. 查询和量测

    6. 点云滤波和编辑

    7.  显示pose文件

    8. 显示连续帧点云的拼接效果

    9. 配置类别颜色表(Class Color Table)

    10. 快捷键

    11. 关于Layer Tree的操作    

    12. 显示矢量

    13. 数据清除

    14. 用pcdviewer_skip.sh脚本批量打开点云文件


    1. 启动软件    

            在安装目录下,双击PCDViewer,或者通过命令行打开PCDViewer,即可启动软件。
    在Windows系统中,设置PCDViewer为点云数据(pcd, las,ply等)默认打开软件后,双击点云数据即可直接打开点云数据。

    2. 打开点云

            软件支持打开pcd、ply、las等格式的点云文件。
            目前已支持以下几种文件打开方式:
            1)在软件中用Open按钮打开文件
            包括菜单栏 Data -> Open Point Cloud 和 Layer Tree -> 鼠标右键菜单 -> Open Point Cloud
            2)通过命令行打开文件;
            3)通过拖放方式打开文件;
            4)通过Data -> Recent Files,打开最近打开的文件。

            软件支持一次打开多个点云文件。
            点云打开后,默认按高程方式进行渲染。 
        
            强烈建议将软件路径添加到系统环境变量。这样,可以直接通过命令调起本应用程序。
            同时,强烈建议将本软件设置为点云文件的默认程序,这样,可以通过双击点云文件用本软件直接打开。

            通过命令行加载点云文件的方式为:
            PCDViewer pcd_file_1 pcd_file_2 [...]

            打开的文件会记录到Data-Recent Files菜单中,下次软件启动时,可以直接通过Recent Files中的相应记录打开文件。

            点云打开后,会加入到Layer Tree进行管理,方便进行各种查找、渲染、编辑等操作。

            软件同时提供了las、pcd、ply格式相互转换的功能,方法是打开点云后另存为指定格式。

    3. 点云的渲染

            软件对pcd、ply、las进行了系统而完善的支持,支持打开任何符合pcl标准的pcd和ply格式的数据,并可方便地渲染任意字段。

            PCDViewer提供了丰富的点云渲染方式,包括:
            - Render As Elevation: 按高程着色
            - Render As Mono Color: 按单一颜色着色
            - Render As RGB: 按点云自带的rgb颜色着色(如果点云有RGB信息的话)    
            - Render As Field: 按字段着色。

            当点云文件中包含rgb字段时,点云可以按RGB渲染。对pcd、ply文件,当文件中包含rgb或rgba字段、且rgb/rgba数据按3x8/4x8 bit组织在一个32位数据中时,则可以按RGB渲染。
       
            PCDViewer支持按任意字段渲染点云。同时,对每一个字段,提供了Render By Label Color、Render By Random Color、Render By Continuous Color三种方式。
            -Render By Label Color:基于字段值,从颜色查找表取对应颜色,即
               color=LookupTabel(value);
            -Render By Random Color:基于字段值,按一种随机颜色算法计算颜色,即
               color=RandomColor(value);
            -Render By Continuous Color:基于字段值和连续颜色表计算相应颜色,即
              color=ContinuousColor(v_min, v_max, value)。
            颜色查找表可以通过Lable Color 表格进行编辑。
            Render By Continuous Color中,可以通过直方图工具调整v_min、v_max,从而调整可视化效果。如下图,拖动蓝色滑块和红色滑块分别改变线性拉伸的最小值和最大值,从而突出需要显示的信息;通过调整Beyond Strategy确定对(最小值,最大值)之外的信息展示策略,例如,显示背景是黑色,则可以设置Beyond Strategy为black,从而不显示(最小值,最大值)之外的数据。

            提供了超级渲染字段进行点云的全局渲染,包括Elevation、Classification、Intensity、RGB,可以实现对点云的全局渲染,这在有些情形下可以极大地提高点云的渲染操作效率。点击工具栏的相应按钮即可。

    4. 可视化操作控制

            软件默认鼠标中键控制旋转,鼠标右键控制平移,鼠标中键控制缩放,软件支持鼠标控制方式的定制。在安装目录下,打开config.json文件,用户可以重新定义缩放、平移、旋转的相应鼠标键,下面的配置中,定义左键控制平移,右键控制旋转,中键控制缩放。

            软件提供了视点控制功能:
            1)通过放大镜功能(Focus),可以将视口中心迅速重定位于用户所点击的目标区域;
            2)当软件打开了大量点云文件时,用户点击文件弹出菜单中的“Make Visible”,可以将视口中心迅速重定位于文件对应的点云数据区域。

            软件提供了平移速度控制功能。当软件打开的数据区域范围较大时,可以向右拖动平移速度滑块加大平移速度。软件同时提供了其他快捷键控制平移/旋转/缩放速度等。

            提供了漫游操作快捷键(W),可以使得当前工具由其他工具迅速切换为漫游工具(Roam Tool)。

            提供了坐标轴网格等的显示。坐标轴按X-红,Y-绿,Z-蓝显示,坐标轴的长度默认为1米,grid 网格大小默认为10米,可以在config菜单中开启或关闭坐标轴、grid的显示,同时可以在config.json中配置软件的坐标轴的显示长度、grid的网格大小等信息。

            可以改变背景颜色。点Config->background,选择想要的背景颜色,则可以设置点云显示窗口的背景颜色。

            提供了自动旋转快捷键(Shift + R),方便用户进行效果展示、视频录制等操作。

    5. 查询和量测

            软件提供了效率极高的拾取算法,对大文件和同时打开几千个单帧点云文件,软件也可以进行实时拾取和查询。

    5.1 查询点信息
           在工具栏点击点查询工具,在视口点击查询点,Point Info 框中便会显示点的全部字段信息、以及点所在的数据集信息。所选点会默认按红色高亮显示。查询点的大小可以通过Config->Inquiry Point Size进行设置,查询点的颜色可以在config.json中的inquiry_config进行配置。

    5.2 量测距离
          在工具栏点击量测工具,在视口中点击两点,Distance 框会显示距离信息:

    5.3 量测角度和平面法向量
          从4.9.1开始,软件提供了量测旋转角和旋转轴的功能,旋转轴也即为平面法向量。

    计算连续3点间构成的夹角(<P_1P_0,P_1P_2>)及旋转轴(如上图)。   

    5.4 量测及查询信息的擦除
            点击C,或点击工具栏Clear工具,可以清除查询、量测痕迹:        在Layer Tree的相应Item上,点击弹出式菜单中的Show Properties,会弹出文件的属性信息,包括点云坐标范围、半径、点数、文件路径等:

    6. 点云滤波和编辑

            软件提供了强大的点云滤波和编辑功能。

            点云地面滤波是点云处理中常用功能,软件提供了一个点云地面滤波器 Ground Filter,对城区和山区、车载和机载等点云都能取得不错的地面滤波效果,点云滤波中的参数可以在Ground Filter Parameters Config中设置;同时,软件提供了专门用于城区车载单帧点云的地面滤波算法Ground Filter (Single Frame),一般在20ms以内即可完成单帧点云的滤波处理,基于默认参数即可取得较为理想的滤波效果,本算法与Ground Filter功能具有相同的参数。软件优先支持带label或classification字段的滤波和编辑处理,同时支持对不带label或classfication字段的点云的地面滤波,可以用Save Label PCD 导出地面滤波及编辑结果。

            软件提供了“多边形选点(Polygon Label Tool)”和“扩散选点(Diffuse Label Tool)”标注工具,对带label或classification字段的点云数据,通过标注工具选中点,即可将点分至目标类别,目标类别通过组合框指定,目标类别组合框中的内容由点云类别编辑表(Class Color Table)指定,用户可以编辑点云类别编辑表,设定类别分类、类别ID、颜色等信息。

            “扩散选点”是本软件的创新功能,当用户在目标区域点击时,该功能通过区域生长算法,将拾取周围一定距离范围内的邻近点标注为目标类别。

            进行滤波或编辑操作后,Layer Tree中的相应点云文件,在文件名前面会加上星号(*)以示数据更改,保存或导出后星号会消失。

            标注完成后,可以在Layer Tree中右键点击对应Item进行保存。如果用户没有进行保存操作,在软件关闭时会自动提示保存。

    关于地面滤波器的参数
    -Max Slope :最大坡度,单位度,默认5
    -Min Flat Patch Size :最小平面大小,单位度,默认1.5
    -Recall Distance :召回距离阈值,单位米,默认0.1
    此外,还有一个参数,Ground Label,指定地面的目标类别,默认 ground_label =1。

    7.  显示pose文件

            pose文件记录了连续时刻位姿。可以通过pose文件可视化可以查看某位置/某时刻位姿、坐标轴朝向、轨迹连续性、平滑性等。
            pose文件格式为:
            frame_id   time_stamp     x      y     z      qx     qy     qz      qw
            字段类型除frame_id为整型外,其他均为浮点型。
            字段间以空格分开。
            pose文件没有文件头。

             pose文件示例:

    1. 0 1669000000.324430 -1.79949 0.002519 -0.921 -0.000001 -0.000007 0.017514 0.999847
    2. 1 1669000000.423560 -1.708357 0.006662 -0.921 -0.000042 -0.000377 0.039366 0.999225
    3. 2 1669000000.523310 -1.465213 0.02722 -0.921 -0.000018 -0.00013 0.061221 0.998124
    4. 3 1669000000.622430 -1.269766 0.053482 -0.921 -0.000014 -0.000105 0.082008 0.996632
    5. 4 1669000000.721570 -1.159607 0.072923 -0.921 -0.000104 -0.000466 0.09825 0.995162
    6. 5 1669000000.820710 -0.970453 0.112265 -0.920999 0.000085 -0.000732 0.120379 0.992728

            可以通过点查询工具(Pickup Point)查询某一点的具体pose信息,信息以Point Info呈现出来。同时,软件同时会绘制出该pose点的姿态信息(orientation),红(Red)、绿(Green)、蓝(Blue)三轴分别代表代表该pose点局部坐标系的X轴、Y轴、Z轴朝向。

    8. 显示连续帧点云的拼接效果

            在测绘及SLAM中,显示连续帧点云拼接效果极为重要。软件为显示连续帧点云的拼接效果提供了方便而强大的支持。
            首先加载点云pose文件,此时frame_id对应pcd点云文件的basename。例如1.pcd,其basename是1,则其frame_id为1。
            然后,就可以打开需要的点云文件查看拼接效果。
            借助距离量测、单帧点云的不同渲染方式等,可以很方便地查看点云拼接精度,评估点云建图质量。

    9. 配置类别颜色表(Class Color Table)

            颜色查找表包含类别名、类别ID、类别颜色等信息。
            可以通过双击颜色从而编辑相应类别的点云颜色。
            也可以通过Append、Remove等增加或减少类别,控制要进行着色的类别范围。
            对不在Color Table中的类别,将按白色进行着色。

            Color Table对应的软件配置文件名为lable_config.cfg,这实际上是一个utf-8编码的文本文件,用户可以直接编辑这个文件。

            用户可以任意设置Color Table所在的位置,可以放置在不同面板进行显示,也可以关闭它。关闭后,如果要重新打开,可以通过Config->Color Table让其重新显示。

    10. 快捷键

       S/s          增加/减少点大小
       P/p          使平移速度变快/变慢
       Z/z           使缩放速度变快/变慢
       R/r           使旋转速度变快/变慢
       shift + r    开启/关闭自动旋转
       Alt + x      截图(version >= 4.8.0)

       W      Roam快捷键
       C       Clear快捷键。清除点查询、距离量测、Focus(放大镜)等的相关绘制
       
       H       只在水平方向进行旋转 -- 禁用上下旋转
       V       只在竖直方向进行旋转 -- 禁用水平旋转
       
            关于缩放的一个小技巧:支持无限放大。有时候看起来还有放大空间,但放大不动了,不是放大到头了,实际上还可以放大。多次按大写Z,放大缩放速度,然后就会发现又可以放大了。同时,按住鼠标中键拖放可以实现快速缩放。

            提供了放大镜功能。放大镜实际上重置了旋转中心,极大地方便了用户操作。

    11. 关于Layer Tree的操作    

            1)双击鼠标修改Folder Item名字
            2)点击鼠标右键弹出菜单
            3)有时候Layer Tree操作空间被占满,无法出现”Add Folder”菜单选项,可以在点击鼠标右键的同时按住Alt键,就可以弹出”Add Folder”菜单选项了。
            4)直接按Delete键可以直接删除Item

    12. 显示矢量

            本软件支持矢量文件显示。矢量文件格式为.ghs,为作者自定义的一种高效的矢量格式文件。关于文件格式定义,请参考PCDViewer Release Page 及随本软件发布时附带的test_data/example_file.ghs,这是一种文本格式文件,可以用文本编辑工具直接打开。同时,作者提供了.ghs文件的读写库,上传在github上(https://github.com/XuShengpan/GeneralGraphicsFormat),感兴趣的读者可以通过文件定义、代码等进一步了解。

            例如:下图显示了一个矢量文件,其中包括顶点、向量、多边形等要素。

    用户可以对矢量的显示方式进行编辑:

    13. 数据清除

            用户可以通过Data->Clear 清除所有数据,然后重新打开新的数据。
            软件具有可靠的稳定性,清除所有数据再打开新的数据,与关闭软件再重新打开数据没有区别。

    14. 用pcdviewer_skip.sh脚本批量打开点云文件

            有时候,需要按一定间隔抽样调查点云效果。提供了pcdviewer_skip.sh脚本批量打开点云文件。用法为:

    1. bash pcdviewer_skip
    2. Usage: {pcd_folder} {skip}

            该脚本需要两个参数,第一个参数是点云文件的目录,skip是文件打开的间隔。例如,skip=10表示按每间隔10帧打开点云。

            使用按脚本需要将PCDViewer的安装目录加入系统目录。

  • 相关阅读:
    git merge与git rebase详解
    2022-06-29 银河麒麟V10 Nginx-rtmp+FFmpeg流媒体服务器环境搭建
    017 基于Spring Boot的食堂管理系统
    search——id映射
    opencv的MinGW-W64编译
    电机开源驱动器基本操作与实现
    lua 判空的坑
    Sharding-Jdbc分库分表集成Mybatis-Plus+多数据源管理
    LCR 171.训练计划 V
    多点电容触碰实验
  • 原文地址:https://blog.csdn.net/Jacky_546287052/article/details/130904605