3d激光雷达开发(点云数据显示)

Posted 费晓行

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3d激光雷达开发(点云数据显示)相关的知识,希望对你有一定的参考价值。

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        点云数据显示是开发过程中必不可少的一个环节。因为在实际场景中,可能会涉及到很多的算法步骤,这中间的每一步,都要停下来看一下,处理结果是不是我们自己想要的,所以这中间就必然会涉及到查看显示的部分。显示本身不复杂,但是有几个细节需要注意下。

1、准备cloud_view.cpp

 #include <pcl/visualization/cloud_viewer.h>
 #include <iostream>
 #include <pcl/io/io.h>
 #include <pcl/io/pcd_io.h>
    
int 
main ()

    pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>);
    pcl::io::loadPCDFile ("bunny.pcd", *cloud);
    
	pcl::visualization::CloudViewer viewer("Simple Cloud Viewer");
	viewer.showCloud(cloud);
	while (!viewer.wasStopped())
	
	

    return 0;

        显示部分代码比较简单,要注意的是PointCloud里面的数据形式。

2、准备CMakeLists.txt

 cmake_minimum_required(VERSION 3.5 FATAL_ERROR)
 
 project(cloud_view)
 
 find_package(PCL 1.2 REQUIRED)
 
 include_directories($PCL_INCLUDE_DIRS)
 link_directories($PCL_LIBRARY_DIRS)
 add_definitions($PCL_DEFINITIONS)

add_executable (cloud_view cloud_view.cpp)
target_link_libraries (cloud_view $PCL_LIBRARIES)

3、利用cmake生成sln,开始编译,不出意外,应该可以成功

4、执行cloud_view.exe

        执行的过程中,可能会提示缺少dll,不全即可。在自己的电脑上面,发现只依赖于这几个dll库,如下所示,

        如代码所示,显示的文件为bunny.pcd,这个文件网上都有,可以找到下载一下,

5、几个注意点

        1)显示的pcd点数不要太多,一般几千到几万个点是可以的,多了有可能会出现闪退,估计pcl库内部有bug;

        2)显示需要一段时间,不是程序坏了,需要等一段时间而已;

        3)显示的时候,一开始是红、绿、黑的三色图,这是正常的,缩放一下就可以看到点云了。

以上是关于3d激光雷达开发(点云数据显示)的主要内容,如果未能解决你的问题,请参考以下文章

3d激光雷达开发(PassThrough滤波器)

3d激光雷达开发(生成RangeImage)

3d激光雷达开发(平面映射)

3d激光雷达开发(sift关键点)

3d激光雷达开发(旋转和位移)

3d激光雷达开发(kd树)