1. 程式人生 > 其它 >1:C++搭配PCL顯示一個點雲

1:C++搭配PCL顯示一個點雲

  • 本文內容:顯示一個點雲檔案。
  • 平臺: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 }