// 使用PCLVisualizer类:方法多、可进行多种操作
#include <iostream>
#include <pcl/point_types.h>
#include <pcl/io/ply_io.h>
#include <pcl/visualization/pcl_visualizer.h>
#include <pcl/io/io.h>
using namespace std;
using namespace pcl;
using namespace io;
int main() {
PointCloud<PointXYZ>::Ptr cloud(new PointCloud<PointXYZ>);
if (io::loadPLYFile("bunny.ply", *cloud) == -1) { // 读取.ply文件
cerr << "can't read file bunny.pcd" << endl;
return -1;
}
boost::shared_ptr<visualization::PCLVisualizer> viewer(new visualization::PCLVisualizer("3D viewer")); // 实例化PCLVisualizer对象,窗口命名为3D viewer
viewer->setBackgroundColor(0, 0, 0); // 设置背景颜色
// 主要方法
viewer->addPointCloud<PointXYZ>(cloud, "sample cloud"); // 将点云数据添加到视窗中
viewer->setPointCloudRenderingProperties(visualization::PCL_VISUALIZER_OPACITY, 2, "sample cloud");// 设置点云显示属性,
while (!viewer->wasStopped()) { // 保持窗口一直打开
viewer->spinOnce(100);
boost::this_thread::sleep(boost::posix_time::microseconds(1000));
}
return 0;
}