#include <iostream> //标准输入输出流
#include <pcl/io/pcd_io.h> //PCL的PCD格式文件的输入输出头文件
#include <pcl/point_types.h> //PCL对各种格式的点的支持头文件
#include <pcl/point_cloud.h>
#include <pcl/visualization/cloud_viewer.h>//点云查看窗口头文件
#include <pcl/visualization/pcl_visualizer.h>
#include <pcl/common/time.h>
int main(int argc, char** argv)
{
pcl::StopWatch time;
//读取部分
std::cout << "读取文件" << std::endl;
#include <pcl/io/pcd_io.h> //PCL的PCD格式文件的输入输出头文件
#include <pcl/point_types.h> //PCL对各种格式的点的支持头文件
#include <pcl/point_cloud.h>
#include <pcl/visualization/cloud_viewer.h>//点云查看窗口头文件
#include <pcl/visualization/pcl_visualizer.h>
#include <pcl/common/time.h>
int main(int argc, char** argv)
{
pcl::StopWatch time;
//读取部分
std::cout << "读取文件" << std::endl;
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZ>); // 创建点云(指针)
if (pcl::io::loadPCDFile<pcl::PointXYZ>("E:\\12.pcd", *cloud) == -1) //* 读入PCD格式的文件,如果文件不存在,返回-1
{
PCL_ERROR("Couldn't read file test_pcd.pcd \n"); //文件不存在时,返回错误,终止程序。
system("pause");
return (-1);
}
std::cout << "正确查找文件" << std::endl;
{
PCL_ERROR("Couldn't read file test_pcd.pcd \n"); //文件不存在时,返回错误,终止程序。
system("pause");
return (-1);
}
std::cout << "正确查找文件" << std::endl;
//得到时间
std::cout << "读取文件" << std::endl;
//std::cout << "运行时间" << time.getTime() << "毫秒" << std::endl;
std::cout << "运行时间" << time.getTimeSeconds() << "秒" << std::endl;
std::cout << "读取文件" << std::endl;
//std::cout << "运行时间" << time.getTime() << "毫秒" << std::endl;
std::cout << "运行时间" << time.getTimeSeconds() << "秒" << std::endl;
for (size_t i = 0; i < 10; ++i)
{
std::cout << "第" << i << "个点云x坐标" << cloud->points[i].x << std::endl;
}
std::cout << "点云文件height" << cloud->height << std::endl;
std::cout << "点云文件width" << cloud->width << std::endl;
pcl::visualization::PCLVisualizer viewer("Cloud Viewer");
//设置颜色为绿色
pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZ> singleColor(cloud, 0, 255, 0);
//往窗口添加点云并设置颜色
viewer.addPointCloud(cloud, singleColor, "cloud");
//添加点云后,通过点云ID来设置显示大小
viewer.setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 1, "cloud");
//重置相机,将点云显示到窗口
viewer.resetCamera();
pcl::visualization::PointCloudColorHandlerCustom<pcl::PointXYZ> singleColor(cloud, 0, 255, 0);
//往窗口添加点云并设置颜色
viewer.addPointCloud(cloud, singleColor, "cloud");
//添加点云后,通过点云ID来设置显示大小
viewer.setPointCloudRenderingProperties(pcl::visualization::PCL_VISUALIZER_POINT_SIZE, 1, "cloud");
//重置相机,将点云显示到窗口
viewer.resetCamera();
while (!viewer.wasStopped())
{
viewer.spinOnce();
}
return (0);
}
{
viewer.spinOnce();
}
return (0);
}