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;
}