代碼中將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);
}