如何解决网站兼容,seo的主要策略和流程内容,天元建设集团有限公司财务分析,wordpress手机插件怎么用目录 1. 点云数据2. 对点云数据的简单操作3. 结果 1. 点云数据
在pcl里面#xff0c;定义了很多点云数据类型#xff0c;比如PointXYZ、PointXYZI、PointXYZRGBA等等#xff0c;每一个都可以看做是点云的一个点的数据。而整个点云的数据类型被定义为PointCloud。
以pcl::P… 目录 1. 点云数据2. 对点云数据的简单操作3. 结果 1. 点云数据
在pcl里面定义了很多点云数据类型比如PointXYZ、PointXYZI、PointXYZRGBA等等每一个都可以看做是点云的一个点的数据。而整个点云的数据类型被定义为PointCloud。
以pcl::PointCloudpcl::PointXYZ cloud为例cloud为一个点云对象其中包含很多点云数据数据类型为pcl::PointXYZ。具体参考博客《【点云处理技术之PCL】PCL中的基本数据类型——PointCloud与PointT》和官网点云介绍。
2. 对点云数据的简单操作
参考双愚的代码用rand函数生成几个PointXYZ格式的点云数据将包含这些数据的点云保存为.pcd格式的点云数据文件。
pcl01.cpp
#include iostream
#include pcl/io/pcd_io.h
#include pcl/point_types.hint main()
{//第一部分定义点云对象其中的数据类型为PointXYZpcl::PointCloudpcl::PointXYZ cloud;//第二部分对点云对象cloud赋值包括width、height、is_dense等参数赋值给出点云中数据的定量描述//然后对points进行resize对具体的数据vector初始化其中包含width*height个cloud.width 5;cloud.height 1;cloud.is_dense false;cloud.points.resize(cloud.width * cloud.height);//第三部分对cloud的points vector进行赋值for (auto point : cloud){point.x 1024 * rand() / (RAND_MAX 1.0f);point.y 1024 * rand() / (RAND_MAX 1.0f);point.z 1024 * rand() / (RAND_MAX 1.0f);}//第四部分对cloud的points vector进行逐个point的输出并将cloud保存为.pcd格式点云文件pcl::io::savePCDFileASCII(test_pcd.pcd, cloud);std::cerr saved cloud.size() data points to test_pcd.pcd std::endl;for (const auto point : cloud){std::cerr point.x point.y point.z std::endl;}return 0;}CMakeLists.txt
cmake_minimum_required(VERSION 2.8 FATAL_ERROR)project(pcd01)find_package(PCL)add_executable(pcl01 pcl01.cpp) # 将cpp文件编译生成可执行文件target_link_libraries(pcl01 ${PCL_LIBRARIES}) # cpp文件中仅提供了pcl的.h头文件具体实现需要库文件这里将库文件链接到可执行文件中3. 结果