文章目录
- PCL介绍
- Windows PCL环境配置
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中:
// 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] = "rabbit.pcd";
// 判断pcd文件是否存在
if (-1 == pcl::io::loadPCDFile(strfilepath, *cloud)) {
cout << "error input!" << endl;
return -1;
}
cout << cloud->points.size() << endl; //打印点云大小
pcl::visualization::CloudViewer viewer("Cloud Viewer"); //创建viewer对象
viewer.showCloud(cloud); //显示点云
viewer.runOnVisualizationThreadOnce(viewerOneOff);
system("pause");
return 0;
}
如果前面都配置好,运行还提示缺少dll库
的话,应该是lib还没有加载到工程中,重启一下工程即可。
最后读取rabbit的效果如下(很漂亮):
到这里,环境终于配置好了,希望大家配置也一切顺利。(可算能开始敲代码了)
以上。