PCL 讀取PCD格式並可視化

代碼中將viewer.setCameraPosition(0, 0, -3.0, 0, -1, 0);viewer.addCoordinateSystem(0.3);兩行代碼註釋,以便可視化後看起來更美觀。


#include <iostream> //標準輸入輸出流
#include <pcl/io/pcd_io.h> //PCL的PCD格式文件的輸入輸出頭文件
#include <pcl/point_types.h> //PCL對各種格式的點的支持頭文件
#include <pcl/visualization/cloud_viewer.h>

using namespace std;

int main(int argc, char** argv)
{
	//定義點的類型 PointXYZRGB
	typedef pcl::PointXYZRGB PointT;
	//pcl::PointCloud::Ptr cloud(new pcl::PointCloud);

	pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>); // 創建點雲(指針)

	if (pcl::io::loadPCDFile("Standard_knee_piece_1.pcd", *cloud) == -1) {
		//* load the file 
		PCL_ERROR("Couldn't read PCD file \n");
		return (-1);
	}
	printf("Loaded %d data points from PCD\n",
		cloud->width * cloud->height);

	pcl::visualization::PCLVisualizer viewer("Cloud viewer");

	pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZ> single_color(cloud, 0, 255, 0); // green
	//viewer.setCameraPosition(0, 0, -3.0, 0, -1, 0);
	//viewer.addCoordinateSystem(0.3);

	viewer.addPointCloud(cloud, single_color);
	while (!viewer.wasStopped())
		viewer.spinOnce(100);
	return (0);
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章