代码中将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);
}