Advertisement

点云添加坐标系

阅读量:

目录

1 添加坐标系的原理

2 添加坐标系的步骤

3 示例代码

1 添加坐标系的原理

PCL的支持下,在...中显示三维坐标系统。该系统通常以X、Y、Z轴形式呈现,并分别以不同颜色标识这些轴线部分。为了便于用户通过查看点云数据理解其空间分布特征而设计。

2 添加坐标系的步骤

  1. 请先创建一个點雲物體並為之分配足夠的記憶体並設定各點的位置坐標。
  2. 隨後,请創造一個基於PCL類别的可視化對象。
  3. 調用addPointCloud方法將构建好的點雲數據传递给目前的可視化對象。
  4. 通過調用addCoordinateSystem函數,在當前可視化的窗口中新增並配置坐標系;此時可以指定坐標軸的比例因子、變換矩陣、坐標系名稱以及顯示通道等參數設定。
  5. 最後請利用循環机制或事件監控功能來展示可視化的界面;此過程將持續進行直到用戶選擇停止可視化的動作。

3 示例代码

复制代码
 #define BOOST_TYPEOF_EMULATION

    
  
    
 #include "vtkAutoInit.h" 
    
 VTK_MODULE_INIT(vtkRenderingOpenGL);
    
 VTK_MODULE_INIT(vtkInteractionStyle);
    
 #include <iostream>
    
 #include <pcl/io/pcd_io.h>
    
 #include <pcl/point_types.h>
    
 #include <pcl/point_cloud.h>
    
 #include <pcl/octree/octree.h>
    
 #include <pcl/kdtree/kdtree_flann.h>
    
 #include <pcl/visualization/pcl_visualizer.h>
    
 #include <boost/thread/thread.hpp>
    
 #include<Eigen/dense>
    
 using namespace std;
    
 int main()
    
 {
    
 	pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_in(new pcl::PointCloud<pcl::PointXYZ>);
    
  
    
 	pcl::io::loadPCDFile("bunny.pcd", *cloud_in);
    
 	boost::shared_ptr<pcl::visualization::PCLVisualizer> view(new pcl::visualization::PCLVisualizer("3D Viewer"));
    
 	// 显示点云本身的RGB颜色
    
 	pcl::visualization::PointCloudColorHandlerRGBField<pcl::PointXYZ> rgb(cloud_in);
    
 	view->addPointCloud<pcl::PointXYZ>(cloud_in, "cloud_color");
    
 	// 设置点云的点大小
    
 	view->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 2, "cloud_color");
    
 	view->addText3D("add_3D:",cloud_in->points[0], 0.01, 0.0, 1.0, 1.0, "text3D");
    
 	view->addCoordinateSystem(0.2);
    
 	while (!view->wasStopped())
    
 	{
    
 		view->spinOnce(100);
    
 		boost::this_thread::sleep(boost::posix_time::microseconds(100000));
    
 	}
    
  
    
 	return 0;
    
 }
    
    
    
    
    AI助手

全部评论 (0)

还没有任何评论哟~