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);
}

 

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