PCL点云库中的坐标系(CoordinateSystem)
博客转载自:https://blog.csdn.net/qq_33624918/article/details/80488590
引言
世上本没有坐标系,用的人多了,便定义了坐标系统用来定位。地理坐标系统用于定位地球上的位置,PCL点云库可视化窗口中的坐标系统用于定位其三维世界中的位置。本人刚开始接触学习PCL点云库,计算机图形学基础为零,以下内容基于自己的理解,如有错误,欢迎指出。
正文
首先介绍一下PCL点云库visualization模块中的PCLVisualizer类,它是PCL可视化3D点云的主要类,该类具有更全面的功能,如显示法线、绘制多种形状和多个视口等,其内部实现了添加各种3D对象以及交互实现等。其中addCoordinateSystem()函数可以在可视化窗口中的坐标原点(0,0,0)处添加一个红绿蓝三色的三维指示坐标轴,红色是X轴,绿色是Y轴,蓝色是Z,也就是说PCL点云库中使用的是右手三维坐标系。
#include <iostream> #include <pcl/point_types.h> #include <pcl/point_cloud.h> #include <pcl/visualization/pcl_visualizer.h> int main(int argc, char** argv) { //显示类 pcl::visualization::PCLVisualizer viewer("Cloud Viewer"); //添加坐标系 viewer.addCoordinateSystem(); //让可视化视窗停住,否则一闪而过。 while (!viewer.wasStopped()) { viewer.spinOnce(); } return (0); }
对应的输出窗口如下