前言
自从接触阶梯检测项目以来,一直在学习PCL和ROS的相关知识,但是都没有做一个系统的记录。新学期新的开始,好好学习,努力进步。
以下记录PCL和ROS的学习情况
PCL
PCL可视化
PCL可视化有几种方法,例如CloudViewer可视化类和PCLVisualizer可视化类
CloudViewer可视化类
CloudViewer可视化类相对比较简单,能做的也比较少。
#include <iostream>
#include <pcl/io/pcd_io.h>
#include <pcl/point_types.h>
#include <pcl/visualization/cloud_viewer.h> //头文件
int main(int argc, char** argv){
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>);
if(pcl::io::loadPCDFile<pcl::PointXYZ>("/home/liuwei/data/tang_stairs/Positive_PCD/0_Cloud_XYZRGB.pcd", *cloud)==-1) {
// 导入点云图
std::cout << "load source failed!" << std::endl;
return -1;
}
std::cout << "source loaded!" << std::endl;
//显示点云图
pcl::visualization::CloudViewer viewer("Simple Cloud Viewer"); //创建一个显示窗口
viewer.showCloud(cloud); //在这个窗口显示点云
while (!viewer.wasStopped())
{
}
return 0;
}
PCLVisualizer可视化类
PCLVisualizer可视化类是PCL中功能最全的可视化类,与CloudViewer可视化类相比,PCLVisualizer 更为复杂,具有更全面的功能,如显示法线、点云着色、绘制多种形状和开辟多个视口。
例如,用多个视口可视化