当前位置:   article > 正文

关于viewer窗口的显示说明_viewer->addpointcloud

viewer->addpointcloud

显示点云的方法有两种,不过本人更倾向第一种,

理由是:

1、第一个方法中的点云支持鼠标滚动放大对点云的显示

2、方法二种的显示效果见图2,想放大看细节看不了

方法一

  1. //可视化窗口
  2. boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer
  3. (new pcl::visualization::PCLVisualizer("MaxCurvature"));
  4. viewer->addCoordinateSystem(0.2); // 读取的点云单位是什么,这个单位就是什么
  5. viewer->setBackgroundColor(0.2, 0.2, 0.2);
  6. viewer->addPointCloud<pcl::PointXYZ>(cloud, "cloud");
  7. pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZ> color(cloud_MaxCurvature, 255, 0, 0);
  8. viewer->addPointCloud<pcl::PointXYZ>(cloud_MaxCurvature, color, "cloud_MaxCurvature");
  9. //将得到的结果保存出来
  10. pcl::io::savePCDFileASCII("qulv.pcd", *cloud_MaxCurvature);
  11. //窗口中添加文字
  12. //viewer->addText("table", 180, 180);
  13. viewer->spin();

方法一显示的点云

 

方法二

  1. pcl::visualization::PCLVisualizer viewer("PCLVisualizer");
  2. viewer.initCameraParameters();
  3. viewer.setBackgroundColor(8.0 / 255.0, 79.0 / 255.0, 117.0 / 255.0);
  4. viewer.addPointCloud<pcl::PointXYZ>(cloud, "cloud");
  5. pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZ> color(cloud_MaxCurvature, 255, 0, 0);
  6. viewer.addPointCloud<pcl::PointXYZ>(cloud_MaxCurvature, color, "cloud_MaxCurvature");
  7. //将得到的结果保存出来
  8. pcl::io::savePCDFileASCII("qulv.pcd", *cloud_MaxCurvature);
  9. while (!viewer.wasStopped())
  10. {
  11. viewer.spinOnce(100);
  12. boost::this_thread::sleep(boost::posix_time::microseconds(100000));
  13. }

方法二显示的点云 

 

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读
  

闽ICP备14008679号