1:C++搭配PCL顯示一個點雲
阿新 • • 發佈:2021-06-29
- 本文內容:顯示一個點雲檔案。
- 平臺: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 }