这里用到的数据为desk.pcd;下载地址: 链接:https://pan.baidu.com/s/1P3gdtcNVpSA-QTV8n4WL8w 提取码:n31k
主要介绍了Win10+VS2015+PCL1.8.1环境下点云数据的显示、可视化等功能。
PCL读取点云,并在窗口中显示。 代码如下:
#include<iostream> #include<pcl/io/pcd_io.h> #include<pcl/point_types.h> int main(int argc, char** argv) { //创建了一个名为cloud的指针,储存XYZ类型的点云数据 pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>); //*打开点云文件 if (pcl::io::loadPCDFile<pcl::PointXYZ>("D://PC//desk.pcd", *cloud) == -1) { PCL_ERROR("Couldn't read file rabbit.pcd\n"); return(-1); } std::cout << "Loaded:" << cloud->width*cloud->height << "data points from test_pcd.pcd with the following fields:" << std::endl; for (size_t i = 0; i < cloud->points.size(); ++i) { std::cout << " " << cloud->points[i].x << " " << cloud->points[i].y << " " << cloud->points[i].z << " " << std::endl; } system("pause"); return 0; }显示结果如下:
PCL读取点云,并在窗口中可视化显示。
代码如下:
#include<iostream> #include<pcl/io/pcd_io.h> #include<pcl/point_types.h> #include <pcl/visualization/cloud_viewer.h> int main(int argc, char** argv) { //创建了一个名为cloud的指针,储存XYZ类型的点云数据 pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>); //*打开点云文件 if (pcl::io::loadPCDFile<pcl::PointXYZ>("D://PC//desk.pcd", *cloud) == -1) { PCL_ERROR("Couldn't read file rabbit.pcd\n"); return(-1); } std::cout << cloud->points.size() << std::endl; pcl::visualization::CloudViewer viewer("cloud viewer"); viewer.showCloud(cloud); while (!viewer.wasStopped()) { } system("pause"); return 0; }显示结果如下: