3d激光雷达开发(pcl安装和使用)

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

        之前讨论过,目前3d激光雷达这块,算法部分用的最多的就是pcl库。网上很多教程都是讲pcl在linux平台上面使用的,其实在windows上面也是非常方便的。所以,今天就看一下,在windows平台,特别是win10平台上面,pcl应该如何使用。

1、前置条件

         pcl被使用,一般需要这三个条件,分别是vs2017、cmake和pcl库。vs2017是编译工具,这部分也可以选择最新的vs2019,只是需要最新的cmake和pcl和它匹配。cmake书要是生成sln工程使用。pcl库就是使用到的算法库。

2、AllInOne下载

        下载地址在这,https://github.com/PointCloudLibrary/pcl/releases?page=2

        打开后,截图应该是这样的,

        这里面有6个文件,最后两个是源代码的压缩包,可以不管。前面4个分别是32位安装包、64位安装包、32位pdb调试文件压缩包、64位pdb调试文件压缩包。如果只是使用,那么直接选择32位安装包就可以了。这里注意下,如果自己的电脑安装了vs2019,那么需要安装更高阶版本的pcl库,也就是比1.9.1更高的版本。

3、安装pcl

        一般安装好之后,在C:\Program Files (x86)\OpenNI2、C:\Program Files (x86)\PCL 1.9.1两个目录地址下面就会看到对应的安装内容。

4、pcl教程

        pcl最好的教程,其实来自于这个网站https://pcl.readthedocs.io/projects/tutorials/en/master/index.html

        很多朋友可能英文不太好,也没关系,网上有一本书《点云库pcl从入门到精通》,大部分内容都是这个网站翻译过去的,基本上也能看明白。

5、第一次编写pcl代码 

        可以直接从pcl网站上找一篇文章,参考下,比如如何写pcd数据,也就是点云数据如何保存。

        原来的内容地址在这,https://pcl.readthedocs.io/projects/tutorials/en/master/writing_pcd.html#writing-pcd

        为了方便,这里就直接把代码拷贝过来了,文件命名为pcd_write.cpp,

 #include <iostream>
 #include <pcl/io/pcd_io.h>
 #include <pcl/point_types.h>
 
 int
   main ()
 {
   pcl::PointCloud<pcl::PointXYZ> cloud;
 
  // Fill in the cloud data
  cloud.width    = 5;
  cloud.height   = 1;
  cloud.is_dense = false;
  cloud.resize (cloud.width * cloud.height);

  for (auto& point: cloud)
  {
    point.x = 1024 * rand () / (RAND_MAX + 1.0f);
    point.y = 1024 * rand () / (RAND_MAX + 1.0f);
    point.z = 1024 * rand () / (RAND_MAX + 1.0f);
  }

  pcl::io::savePCDFileASCII ("test_pcd.pcd", cloud);
  std::cerr << "Saved " << cloud.size () << " data points to test_pcd.pcd." << std::endl;

  for (const auto& point: cloud)
    std::cerr << "    " << point.x << " " << point.y << " " << point.z << std::endl;

  return (0);
}

        忘记说了,pcl的代码编写一般都是以cpp为主。cpp基础不太好的同学,可能需要重新把编程语言教程拿出来翻一翻了。

6、准备cmake

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

add_executable (pcd_write pcd_write.cpp)
target_link_libraries (pcd_write ${PCL_LIBRARIES})

           文件命名为CMakeLists.txt,和pcd_write.cpp放在一起,就像这样,

         注意,这里的CMakeLists.txt就是帮助创建sln工程的,不需要单独用visual studio工具创建工程了,文件也只能命名成这个。

7、创建工程,准备编译

        打开一个终端,输入下面的命令,就可以创建sln工程了,

        输入结束后,没有问题的话,就可以看到这些文件,

 

        打开sln工程,编译即可,

8、 执行pcd_write.exe

        执行过程中,可能会出现找不到dll的情况,这个时候从安装目录里面把对应的dll拷贝过来即可,比如这样,

        没有问题后,双击pcd_write.exe文件,就会生成一个test_pcd.pcd文件,内容如下,

         至此,说明,整个pcl已经用起来了,后续就可以继续学习其他功能了。

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌入式-老费

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值