PCL點雲的儲存和顯示
1.pcl點雲的儲存
1.首先將獲得的點雲x,y,z分別存放在三個vector中
2.pcl 是一個名稱空間,跟std類似,PointCloud是類模板,<pcl::PointXYZ>是模板類例項化的型別
3cloud.height用來判斷是否為有序點雲,=1則是無序點雲也可以使用如下函式代替:if (!cloud.isOrganized ()),
4.對於無序點雲來說:(1)width就是指點雲中點的個數,此時也就是x,y或者z的個數,故等於TestPXc.size();
5.對於有結構點雲來說:width是指點雲資料集一行上點的個數。Anorganized point clouddataset is the name given to point clouds that resemble an organized image (or matrix) like structure, where the data is split into rows and columns.
例如:有結構點雲
cloud.width = 640; // Image-like organized structure, with 640 rows and 480 columns,
cloud.height = 480; // thus 640*480=307200 points total in the dataset
無結構點雲
cloud.width = 307200;
cloud.height = 1; // unorganized point cloud dataset with 307200 points
6。cloud.is_dense (bool) 判斷points中的資料是否是有限的(有限為true)或者說是判斷點雲中的點是否包含 Inf/NaN這種值(包含為false)。
7.points儲存了資料型別為PointT的一個動態陣列,例如,對於一個包含了XYZ資料的點雲,points是包含了元素為pcl::PointXYZ一個vector。 相當於vector<point3f>
8。cloud.points賦值後,通過儲存物件cloud可以將點雲儲存,儲存函式為I/O模組中的savePCDFileASCII,第一個引數為儲存名稱,第二個為點雲物件,儲存在工程目錄下。