本系列博文主要记录各种库或者知识点使用过程中常用的一些操作,将这些操作汇总在一起,形成一个参考手册(CheatSheet),方便快速查看!
CMakeLists.txt文件书写
find_package(PCL 1.7 REQUIRED)
add_definitions(${PCL_DEFINITIONS})
include_directories(${PCL_INCLUDE_DIRS})
link_directories(${PCL_LIBRARY_DIRS})
target_link_libraries([project_name] ${PCL_LIBRARIES})
点云常见处理
头文件包含
//点云数据结构声明
#include <pcl/io/pcd_io.h> //pcd读写类相关的头文件
#include <pcl/point_types.h> //PCL中支持的点类型头文件
点云常用存储结构及访问方式
E.g 1:
//创建一个PointCloud<pcl::PointXYZ> boost共享指针并进行实例化
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>);
//load the point cloud from pcd file
if (pcl::io::loadPCDFile<pcl::PointXYZ> ("pcd_test.pcd", *cloud) == -1) //打开pcd点云文件
{
PCL_ERROR ("Couldn't read file test_pcd.pcd \n");
return (-1);
}
//点云访问
for(size_t i=0;i<cloud->points.size();++i)
std::cout<<" "<<cloud->points[i].x
<<" "<<cloud->points[i].y
<<" "<<cloud->points[i].z<<std::endl;
注: 成员变量points其实是类型pcl::PointXYZ的对象。