visual studio 中利用PCL点云库读取.pcd文件并可视化。可显示强度信息。
//visual studio 读取.pcd文件并可视化
#include <iostream>
#include <pcl/point_types.h>
#include <pcl/io/pcd_io.h>
#include <boost/thread/thread.hpp>
#include <pcl/visualization/pcl_visualizer.h>
using namespace std;
int main()
{
pcl::PointCloud<pcl::PointXYZI>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZI>);
if (pcl::io::loadPCDFile("saomiaodata//箱子45.pcd", *cloud) == -1)
{
cerr << "读取点云失败!!!" << endl;
return -1;
}
boost::shared_ptr<pcl::visualization::PCLVisualizer> viewer(new pcl::visualization::PCLVisualizer("3D Viewer"));
// 为点云设置颜色
//pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZI> color(cloud, 0, 0, 255);//蓝色
pcl::visualization::PointCloudColorHandlerGenericField<pcl::PointXYZI> color(cloud, "intensity"); //强度信息,彩色(与上一行可切换使用)
viewer->addPointCloud<pcl::PointXYZI>(cloud, color, "sample cloud");
viewer->setBackgroundColor(255, 255, 255);
// 设置点云大小
viewer->setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 2, "sample cloud");
while (!viewer->wasStopped())
{
viewer->spinOnce(100);
boost::this_thread::sleep(boost::posix_time::microseconds(100000));
}
return 0;
}
在走廊扫描的箱子数据