PCL点云库安装教程

1,库文件下载

安装PCL首先需要下载对应的安装包,主要有两个,这里推荐在GitHub上下载

2,安装教程

安装步骤:

  • 双击PCL-1.8.1-AllInOne-msvc2015-win64.exe文件
  • 按照提示点击下一步
  • 勾选 Add PCL to the system Path for all users
  • 在弹出安装OpenNI时将安装路径修改为D:\3D\PCL 1.8.1\3rdParty\OpenNI2
  • 点击下一步,如果弹出警告说路径太长添加失败,点击确认继续安装。
  • 点击下一步,完成
  • 配置刚刚路径添加失败的环境变量路径

安装报错问题1: 如果出现OpenNI安装失败或者D:\3D\PCL 1.8.1\3rdParty\OpenNI2文件夹下只有一个文件时
解决方法: 在控制面板中卸载安装的PCL和OpenNI,然后重复上述安装步骤。

配置环境变量的步骤:

  • 在系统变量中添加变量:PCL_ROOT
  • 然后在系统变量path中添加安装的PCL库的路径

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

3,配置工程

配置工程的步骤:

  • 使用Cmake生成工程
  • 编译是否报错

在这里插入图片描述

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

在这里插入图片描述

4, 测试

测试代码:

#include <iostream>
#include <pcl/common/common_headers.h>
#include <pcl/io/pcd_io.h>
#include <pcl/visualization/pcl_visualizer.h>
#include <pcl/visualization/cloud_viewer.h>
#include <pcl/console/parse.h>


int main(int argc, char **argv) {
	std::cout << "Test PCL !!!" << std::endl;

	pcl::PointCloud<pcl::PointXYZRGB>::Ptr point_cloud_ptr(new pcl::PointCloud<pcl::PointXYZRGB>);
	uint8_t r(255), g(15), b(15);
	for (float z(-1.0); z <= 1.0; z += 0.05)
	{
		for (float angle(0.0); angle <= 360.0; angle += 5.0)
		{
			pcl::PointXYZRGB point;
			point.x = 0.5 * cosf(pcl::deg2rad(angle));
			point.y = sinf(pcl::deg2rad(angle));
			point.z = z;
			uint32_t rgb = (static_cast<uint32_t>(r) << 16 |
				static_cast<uint32_t>(g) << 8 | static_cast<uint32_t>(b));
			point.rgb = *reinterpret_cast<float*>(&rgb);
			point_cloud_ptr->points.push_back(point);
		}
		if (z < 0.0)
		{
			r -= 12;
			g += 12;
		}
		else
		{
			g -= 12;
			b += 12;
		}
	}
	point_cloud_ptr->width = (int)point_cloud_ptr->points.size();
	point_cloud_ptr->height = 1;

	pcl::visualization::CloudViewer viewer("test");
	viewer.showCloud(point_cloud_ptr);
	while (!viewer.wasStopped()) {};
	return 0;
}

在这里插入图片描述