当前位置:   article > 正文

点云视窗类CloudViewer,显示一个圆球、玉米的点云、动态刷新的字符串_xyzviewer

xyzviewer

首先保证你的文件夹下有三个文件cloud_viewer.cpp、CMakeLists.txt、my_point_cloud.pcd

1、Cloud_Viewer.cpp代码:

  1. #include <vtkAutoInit.h>
  2. VTK_MODULE_INIT(vtkRenderingOpenGL);
  3. VTK_MODULE_INIT(vtkInteractionStyle);
  4. VTK_MODULE_INIT(vtkRenderingFreeType);
  5. #include <pcl/visualization/cloud_viewer.h>
  6. #include <iostream>
  7. #include <pcl/io/io.h>
  8. #include <pcl/io/pcd_io.h>
  9. int user_data;
  10. void
  11. viewerOneOff (pcl::visualization::PCLVisualizer& viewer)
  12. {
  13. viewer.setBackgroundColor (1.0f, 0.5f, 1.0f);
  14. pcl::PointXYZ o;
  15. o.x = 0;
  16. o.y = 0;
  17. o.z = 0;
  18. viewer.addSphere (o, 0.2, "sphere", 0);
  19. std::cout << "i only run once" << std::endl;
  20. }
  1. void
  2. viewerPsycho (pcl::visualization::PCLVisualizer& viewer)
  3. {
  4. static unsigned count = 0;
  5. std::stringstream ss;
  6. ss << "Once per viewer loop: " << count++;
  7. viewer.removeShape ("text", 0);
  8. viewer.addText (ss.str(), 200, 300, "text", 0);
  9. //FIXME: possible race condition here:
  10. user_data++;
  11. }
  12. int
  13. main ()
  14. {
  15. pcl::PointCloud<pcl::PointXYZRGBA>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZRGBA>);
  16. pcl::io::loadPCDFile ("my_point_cloud.pcd", *cloud);
  17. pcl::visualization::CloudViewer viewer("Cloud Viewer");
  18. //showCloud函数是同步的,在此处等待直到渲染显示为止
  19. viewer.showCloud(cloud);
  20. //该注册函数在可视化时只调用一次
  21. viewer.runOnVisualizationThreadOnce (viewerOneOff);
  22. //该注册函数在渲染输出时每次都调用
  23. viewer.runOnVisualizationThread (viewerPsycho);
  24. while (!viewer.wasStopped ())
  25. {
  26. //在此处可以添加其他处理
  27. user_data++;
  28. }
  29. return 0;
  30. }

2、CMakeLists.txt文件

  1. cmake_minimum_required(VERSION 2.8 FATAL_ERROR)
  2. project(cloud_viewer)
  3. find_package(PCL 1.2 REQUIRED)
  4. include_directories(${PCL_INCLUDE_DIRS})
  5. link_directories(${PCL_LIBRARY_DIRS})
  6. add_definitions(${PCL_DEFINITIONS})
  7. add_executable (cloud_viewer cloud_viewer.cpp)
  8. target_link_libraries (cloud_viewer ${PCL_LIBRARIES})

3、执行显示

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/神奇cpp/article/detail/979728
推荐阅读
相关标签
  

闽ICP备14008679号