【PCL】PCL点云库介绍及VS环境配置

PCL介绍

PCL是跨平台点云处理库,用来点云可视化、分割、聚类等应用。

PCL官网在这:https://pointclouds.org/

Github库在这(这里用1.8.1):https://github.com/PointCloudLibrary/pcl/releases/tag/pcl-1.8.1

Windows PCL环境配置

这位大佬在两年前已经写得很明白了,这里复现一下。

ALLInOne安装:

在这里插入图片描述

第三方库安装(都装在3rdparty):

在这里插入图片描述
在这里插入图片描述

将pdb解包并拷贝到bin:

添加环境变量:

在这里插入图片描述

添加包含目录:

添加库目录:

在这里插入图片描述

添加预处理器定义:

在这里插入图片描述

添加附加依赖项(好多个项啊):

在这里插入图片描述

将SDL检查设置为否,否则会出现C4996:

复制代码到main中:

代码语言:javascript
复制
// pcl181

#include<iostream>
#include<pcl/io/io.h>
#include<pcl/io/pcd_io.h> //pcd 读写类相关的头文件
#include<pcl/io/ply_io.h>
#include<pcl/point_types.h> //PCL中支持的点类型头文件
#include<pcl/visualization/cloud_viewer.h>

using namespace std;

int user_data;

void viewerOneOff(pcl::visualization::PCLVisualizer& viewer) {
viewer.setBackgroundColor(1.0, 0.5, 1.0); //设置背景颜色
}

int main()
{
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>);

char strfilepath[256] = &#34;rabbit.pcd&#34;;
// 判断pcd文件是否存在
if (-1 == pcl::io::loadPCDFile(strfilepath, *cloud)) {
	cout &lt;&lt; &#34;error input!&#34; &lt;&lt; endl;
	return -1;
}

cout &lt;&lt; cloud-&gt;points.size() &lt;&lt; endl;	//打印点云大小
pcl::visualization::CloudViewer viewer(&#34;Cloud Viewer&#34;);     //创建viewer对象

viewer.showCloud(cloud);	//显示点云
viewer.runOnVisualizationThreadOnce(viewerOneOff);
system(&#34;pause&#34;);
return 0;

}

如果前面都配置好,运行还提示缺少dll库的话,应该是lib还没有加载到工程中,重启一下工程即可。

最后读取rabbit的效果如下(很漂亮):

到这里,环境终于配置好了,希望大家配置也一切顺利。(可算能开始敲代码了)

Ubuntu PCL环境配置

ubuntu上大家只要装了ros会默认安装pcl点云库,也可确认安装:sudo apt install libpcl-dev

然后在终端输入pcl_viewer有输出则表示安装没问题。

如果需要安装其他版本可以下载源码编译,暂时我还没这个需求,暂时够用。

以上。