PCDViewer是一款功能强大但操作极为简单的点云可视化和编辑软件,支持对点云的渲染显示、查询、量测、建图拼接、编辑、格式转换等功能,同时支持了pose文件、矢量文件等的显示。PCDViewer目前提供了Windows、Ubuntu18.04、Ubuntu20.04等版本。
本页面总结了PCDViewer的基本、常用操作。
PCDViewer Release Page:
https://blog.csdn.net/Jacky_546287052/article/details/118074205
PCDViewer Auto Rotating
目录
1. 启动软件
2. 打开点云
3. 点云的渲染
4. 显示pose文件
5. 显示连续帧点云的拼接效果
6. 配置颜色查找表(Color Table)
7. 快捷键
8. 点云标注(点云编辑)
9. 显示矢量
10. 数据清除
11. 用pcdviewer_skip.sh脚本批量打开点云文件
1. 启动软件
在安装目录下,双击PCDViewer,或者通过命令行打开PCDViewer,即可启动软件。
2. 打开点云
软件支持pcd、ply、las点云文件的打开。
通过菜单栏 Data -> Open Point Cloud 或
Layer Tree -> 鼠标右键菜单 -> Open Point Cloud 即可打开点云。
软件支持一次打开多个点云文件。
点云打开后,默认按高程方式进行渲染。
同时,软件支持用命令行方式直接打开pcd、las、ply文件。
强烈建议将软件路径添加到系统环境变量。这样,可以直接通过命令调起本应用程序。
同时,强烈建议将本软件设置为点云文件的默认程序,这样,可以通过双击点云文件用本软件直接打开。
通过命令行加载点云文件的方式为:
PCDViewer pcd_file_1 pcd_file_2 [...]
打开的文件会记录到Data-Recent Files菜单中,下次软件启动时,可以直接通过Recent Files中的相应记录打开文件。
点云打开后,会加入到Layer Tree进行管理,方便进行各种查找、渲染、编辑等操作。
软件同时提供了las、pcd、ply格式相互转换的功能。
3. 点云的渲染
PCDViewer提供了丰富的点云渲染方式,包括:
- Render As Elevation: 按高程着色
- Render As Mono Color: 按单一颜色着色
- Render As RGB: 按点云自带的rgb颜色着色(如果点云有RGB信息的话)
- Render As Field: 按字段着色。
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,从而调整可视化效果。
提供了超级渲染字段进行点云的全局渲染,包括Elevation、Classification、Intensity、RGB,可以实现对点云的全局渲染,这在有些情形下可以极大地提高点云的渲染操作效率。点击工具栏的相应按钮即可。
4. 显示pose文件
pose文件记录了连续时刻位姿。可以通过pose文件可视化可以查看某位置/某时刻位姿、坐标轴朝向、轨迹连续性、平滑性等。
pose文件格式为:
frame_id time_stamp x y z qx qy qz qw
字段类型除frame_id为整型外,其他均为浮点型。
字段间以空格分开。
pose文件没有文件头。
pose文件示例:
0 1669000000.324430 -1.79949 0.002519 -0.921 -0.000001 -0.000007 0.017514 0.999847
1 1669000000.423560 -1.708357 0.006662 -0.921 -0.000042 -0.000377 0.039366 0.999225
2 1669000000.523310 -1.465213 0.02722 -0.921 -0.000018 -0.00013 0.061221 0.998124
3 1669000000.622430 -1.269766 0.053482 -0.921 -0.000014 -0.000105 0.082008 0.996632
4 1669000000.721570 -1.159607 0.072923 -0.921 -0.000104 -0.000466 0.09825 0.995162
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轴朝向。
5. 显示连续帧点云的拼接效果
在测绘及SLAM中,显示连续帧点云拼接效果极为重要。软件为显示连续帧点云的拼接效果提供了方便而强大的支持。
首先加载点云pose文件,此时frame_id对应pcd点云文件的basename。例如1.pcd,其basename是1,则其frame_id为1。
然后,就可以打开需要的点云文件查看拼接效果。
借助距离量测、单帧点云的不同渲染方式,可以很方便地查看点云建图质量、精度。
6. 配置颜色查找表(Color Table)
颜色查找表包含类别名、类别ID、类别颜色等信息。
可以通过双击颜色从而编辑相应类别的点云颜色。
也可以通过Append、Remove等增加或减少类别,控制要进行着色的类别范围。
对不在Color Table中的类别,将会按白色进行着色。
Color Table对应的软件配置文件名为lable_config.cfg,这实际上是一个utf-8编码的文本文件,用户可以直接编辑这个文件。
用户可以任意设置Color Table所在的位置,可以放置在不同面板进行显示,也可以关闭它。关闭后,如果要重新打开,可以通过Config->Color Table让其重新显示。
7. 快捷键
S/s 增加/减少点大小
P/p 使平移速度变快/变慢
Z/z 使缩放速度变快/变慢
R/r 使旋转速度变快/变慢
shift + r 开启/关闭自动旋转
W Roam快捷键
C Clear快捷键。清除点查询、距离量测、Focus(放大镜)等的相关绘制
H 只在水平方向进行旋转 -- 禁用上下旋转
V 只在竖直方向进行旋转 -- 禁用水平旋转
关于缩放的一个小技巧:支持无限放大。有时候看起来还有放大空间,但放大不动了,不是放大到头了,实际上还可以放大。多次按大写Z,放大缩放速度,然后就会发现又可以放大了。同时,按住鼠标中键拖放可以实现快速缩放。
提供了放大镜功能。放大镜实际上重置了旋转中心,极大地方便了用户操作。
7. 关于Layer Tree的操作
1)双击鼠标修改Folder Item名字
2)点击鼠标右键弹出菜单
3)有时候Layer Tree操作空间被占满,无法出现”Add Folder”菜单选项,可以在点击鼠标右键的同时按住Alt键,就可以弹出”Add Folder”菜单选项了。
4)直接按Delete键可以直接删除Item
8. 点云标注(点云编辑)
提供了强大的点云标注功能,包括按多边形选取标注和“选点扩散”标注。当采用选点扩散工具时,采用区域生长算法自动将邻近点打上与target label。
标注操作前,首先设置target class,即指定需要将点云标注的目标类别,然后通过相应工具进行点云标注操作。
9. 显示矢量
本软件支持矢量文件显示。矢量文件格式为.ghs,为作者自定义的一种高效的矢量格式文件。关于文件格式定义,请参考PCDViewer Release Page 及随本软件发布时附带的test_data/example_file.ghs,这是一种文本格式文件,可以用文本编辑工具直接打开。同时,作者提供了.ghs文件的读写库,上传在github上(https://github.com/XuShengpan/GeneralGraphicsFormat),感兴趣的读者可以通过文件定义、代码等进一步了解。
例如:下图显示了一个矢量文件,其中包括顶点、向量、多边形等要素。
用户可以对矢量的显示方式进行编辑:
10. 数据清除
用户可以通过Data->Clear 清除所有数据,然后重新打开新的数据。
软件具有可靠的稳定性,清除所有数据再打开新的数据,与关闭软件再重新打开数据没有区别。
11. 用pcdviewer_skip.sh脚本批量打开点云文件
有时候,需要按一定间隔抽象调查点云效果。提供了pcdviewer_skip.sh脚本批量打开点云文件。用法为:
bash pcdviewer_skip
Usage: {pcd_folder} {skip}
该脚本需要两个参数,第一个参数是点云文件的目录,skip是文件打开的间隔。例如,skip=10表示按每间隔10帧打开点云。
使用按脚本需要将PCDViewer的安装目录加入系统目录。