0
点赞
收藏
分享

微信扫一扫

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

王小沫 2022-03-11 阅读 71
3dlinqp2p

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱: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)显示的时候,一开始是红、绿、黑的三色图,这是正常的,缩放一下就可以看到点云了。

 

 

举报

相关推荐

0 条评论