您的位置:首页 > 博客中心 > 编程语言 >

1:C++搭配PCL显示一个点云

时间:2022-03-29 01:42

  • 本文内容:显示一个点云文件。
  • 平台:vs2017+PCL1.8
 1 #pragma warning(disable:4996)
 2 #include <pcl/registration/ia_ransac.h>//采样一致性
 3 #include <pcl/point_types.h>
 4 #include <pcl/point_cloud.h>
 5 #include <pcl/features/normal_3d.h>
 6 #include <pcl/features/fpfh.h>
 7 #include <pcl/search/kdtree.h>
 8 #include <pcl/io/pcd_io.h>
 9 #include <pcl/io/ply_io.h>
10 #include <pcl/filters/voxel_grid.h>//
11 #include <pcl/filters/filter.h>//
12 #include <pcl/registration/icp.h>//icp配准
13 #include <pcl/visualization/pcl_visualizer.h>//可视化
14 #include <time.h>//时间
15 
16 typedef pcl::PointXYZ PointT;    //改个别名,用起来方便,具体可百度typedef c++用法
17 typedef pcl::PointCloud<PointT> PointCloud;
18 int main()
19 {
20 
21     //加载点云文件
22     PointCloud::Ptr cloud_src_o(new PointCloud);//原点云,待配准 //定义一个点云指针文件, 点云指针为cloud_src_o
23     pcl::io::loadPLYFile("bun000.ply", *cloud_src_o);//将读取的“”里的文件的内容,给了cloud_src_o所指向的地址,*给指针取内容
24     
25     
26     pcl::visualization::PCLVisualizer viewer("registration Viewer"); //定义一个显示器
27 
28     pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZ> src_h(cloud_src_o, 0, 255, 0);  //给点云定义一个颜色 RGB模式  为全G 绿色
29 
30     viewer.setBackgroundColor(255, 255, 255);  //设置背景颜色  255,255,255就是白色
31     viewer.addPointCloud(cloud_src_o, src_h, "source cloud");  //把点云加入到显示器里
32 
33     // 等待直到可视化窗口关闭
34     while (!viewer.wasStopped())
35     {
36         viewer.spinOnce(100);
37         boost::this_thread::sleep(boost::posix_time::microseconds(100000));
38     }
39 
40 
41 
42     return (0);
43 }

技术图片

 

本类排行

今日推荐

热门手游