欢迎点云相关产学研的学者和团体加入我们。
|
利用光盘提供的CMakeList.txt文件,在cmake中建立工程文件,并生成相应的可执行文件,将CD中提供的点云文件拷贝到你的工作文件夹中,创建可执行程序后,你就可以运行它了。例如,需要配准capture0001.pcd和capture0002.pcd,只需执行:
...>pairwise_incremental_registration capture0001.pcdcapture0002.pcd
如果观察不到结果,需要按键R来重设摄像头,调整角度可以观察到有红绿两组点云显示在窗口左边,如程序所写,红色为源点云,绿色为目标点云,你将看到如图1所示类似的结果,此图为未进行配准前只在窗口左边显示源和目标点云,并使用不同的颜色显示。
图1 配准前显示输出
命令行提示需要继续执行配准需要按键q,用户按键q后,会在窗口右边看到不断调整的点云,其实是配准过程中的迭代中间结果输出,如图2所示,在迭代次数小于设定的次数之前,右边会不断刷新最新的配准结果,直到收敛。
图2 配准中显示输出
配准迭代30次后完成整个配准过程,最终显示如图3所示,图中左边和右边有明显的不同,右边显示配准后的显示,大体上观察,其很红色部分和绿色部分距离小于左边未配准的点云红绿对应之间的距离,用户再次按键q则会退出程序,并在同一目录下会看到存储的1.pcd文件,此文件为第一和第二个输入点云配准后与第一个输入点云在同一坐标系下的点云。
图3 配准完成后显示
另一个执行例子,是如果用户需要配准capture0001.pcd、capture0002.pcd、capture0003.pcd等等,只需执行:
...>pairwise_incremental_registration capture0001.pcdcapture0002.pcd ...
整个过程与上面的两个输入是同样的,程序对相邻的两个(第一个与第二个、第二个与第三个...)进行配准,并将最终的点云都变换到与第一个输入点云同一坐标系下,同时存储所有的输出点云文件到硬盘(1.pcd、2.pcd …),这里需要注意的是所有的点云都经过变换终与第一个输入点云到了同一坐标系下,即完成了对所有点云的配准。用户可以利用pcl_pcd_viewer_release.exe来对点云所有的配准后的所有点云进行可视化,如图4所示,所有点云在一统一坐标系下,上下两个图分别对应不用的颜色赋值器所产生的图,用户可以用数字键1、2、3、4进行切换随机颜色、x驱动、y驱动、z驱动四种不同的颜色生成方式,方便显示点云中的一些特性,每个点云显示使用不同的颜色表示。
...>pcl_pcd_viewer_release.exe [1-4].pcd
图4配准后多个点云同时显示
敬请关注PCL(Point Cloud Learning)中国更多的点云库PCL(Point Cloud Library)相关官方教程。
参考文献:
1.朱德海、郭浩、苏伟.点云库PCL学习教程(ISBN 978-7-5124-0954-5)北京航空航天出版社 2012-10