3d激光雷达开发(pcl安装和使用)
Posted 费晓行
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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已经用起来了,后续就可以继续学习其他功能了。
以上是关于3d激光雷达开发(pcl安装和使用)的主要内容,如果未能解决你的问题,请参考以下文章