首先第一种读取方式使用reader


#include <pcl/point_types.h>//PCL对各种格式的点的支持头文件
#include <pcl/io/pcd_io.h>//PCL的PCD格式文件的输入输出头文件
#include <pcl/kdtree/kdtree_flann.h>
typedef pcl::PointXYZI PointT;
int
main (int argc, char** argv)
{
pcl::PointCloud<pcl::PointXYZI>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZI>);    // Generate pointcloud data,新建指针cloud存放点云
pcl::PCDReader reader;
reader.read<pcl::PointXYZI>("1.pcd", *cloud);//读取1.pcd文件,用指针传递给cloud。
std::cout << "Loaded "<< cloud->width * cloud->height<< " data points from test_pcd.pcd with the following fields: "<< std::endl;for (std::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;}return (0);
}

第二种使用loadPCDFile

#include <pcl/point_types.h>//PCL对各种格式的点的支持头文件
#include <pcl/io/pcd_io.h>//PCL的PCD格式文件的输入输出头文件
#include <pcl/kdtree/kdtree_flann.h>
typedef pcl::PointXYZI PointT;
//pcl:Pointcloud<pcl::PointXYZ>cloud    //1111111111111111111111
pcl::PointCloud<pcl::PointXYZI>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZI>);    // Generate pointcloud data,新建指针cloud存放点云
if (pcl::io::loadPCDFile<pcl::PointXYZI>("1.pcd", *cloud) == -1)//*打开点云文件。
{PCL_ERROR("Couldn't read that pcd file\n");return(-1);//如果没找到该文件,返回-1,跳出整个main函数
}//写入方法一:
pcl::PCDWriter writer;
writer.write<pcl::PointXYZI>("name_cluster.pcd", *INcloud, false);//将点云保存到PCD文件中
//*INcloud该参数带不带*号,取决于你自己定义的cloud类型,如上使用的是Ptr,智能指针所以下边传参也要带*号-------按照111111111111方式定义点云的话,传参不带*号
//写入方法二:
pcl::io::savePCDFileASCII("name_cluster.pcd", *INcloud); //将点云保存到PCD文件中

PCL两种方式的点云读写相关推荐

  1. java文件读写的两种方式

    今天搞了下java文件的读写,自己也总结了一下,但是不全,只有两种方式,先直接看代码: public static void main(String[] args) throws IOExceptio ...

  2. 读写ASCII文件的两种方式

    读写ASCII文件的两种方式 :读取文件的路径 EXAMPLE: IDL>asciiFile=FILE_DIRNAME(ROUTINE_FILEPATH('TEST_READF')) + '\d ...

  3. docker容器运行mysql持久化_docker容器实现数据持久化的两种方式及其区别

    前言 这篇博文是我对docker实现数据持久化几种方式的特征进行一个总结. 在docker中,它的存储文件系统是在dockerhost上原有的xfs或ext4架设了一层文件系统:overlay2(将此 ...

  4. linux两种方式改变文件权限,Linux更改文件权限的两种方式

    今天小编要跟大家分享一篇关于Linux更改文件权限的方式,喜欢Linux的小伙伴来看一看吧. 我们知道·Linux系统最主要的特点之一就是--Linux系统是多用户.多任务的操作系统. 何为多用户?就 ...

  5. 内存分配的原理__进程分配内存有两种方式,分别由两个系统调用完成:brk和mmap(不考虑共享内存)

    如何查看进程发生缺页中断的次数? 用ps -o majflt,minflt -C program命令查看. majflt代表major fault,中文名叫大错误,minflt代表minor faul ...

  6. Dagger2 知识梳理(1) Dagger2 依赖注入的两种方式

    一.资料推荐 最近这几天一直在看有关Dagger2有关的文章,感觉就是这东西真难用.真难懂,数次想要放弃,还好有网上大神的教程帮助,模模糊糊总算能把基本的几个概念跑通了. 这里首先推荐 牛晓伟 的下面 ...

  7. Android中实现SQLite数据库CRUD操作的两种方式

    Android中实现SQLite数据库CRUD操作的两种方式 SQLite是一款轻量级的关系型数据库,具有运行速度.占用资源少的特点.通常只需要几百KB的内存就够了,因此特别适合在移动设备上使用.SQ ...

  8. mysql数据存储方式_数据存储在mysql的两种方式

    数据存储在mysql的两种方式 发布时间:2020-05-12 16:16:25 来源:亿速云 阅读:250 作者:三月 下文主要给大家带来数据存储在mysql的两种方式,希望这些内容能够带给大家实际 ...

  9. java中实现同步的两种方式:syschronized和lock的区别和联系

    转载自 http://www.cnblogs.com/xiohao/p/4151408.html Lock是java.util.concurrent.locks包下的接口,Lock 实现提供了比使用s ...

最新文章

  1. String spilt时转义特殊字符【转】
  2. oracle 表空间操作
  3. jQuery开发技巧
  4. 常考数据结构和算法:链表中环的入口节点
  5. iphone 虚拟机Mac系统中VMware tools安装和vm共享文件夹的设置
  6. 语音识别系列1:语音识别Speech recognition综述
  7. libudev-dev 错误 libudev1 (= 204-5ubuntu20) 但是 204-5ubuntu20.5 正要被安装 解决方法
  8. 十问十答 Ms-PL 许可证
  9. 【CodeForces - 260A】Adding Digits (思维构造)
  10. Spring tx:advice/
  11. IDEA设置生成带注释的getter和setter解决方案 (图文教程)
  12. java static调用吗_java中使用static
  13. sql数据库快照与恢复 规则绑定
  14. 双进程的扩展双屏软件的快捷键的设计和使用说明
  15. SIM900A常用指令
  16. requests.get为什么得到的内容和查看源文件不一样?
  17. 李开复,活在AI与人群里
  18. Chrome繁简体转换插件
  19. linux实现进度条
  20. 谢烟客---------Linux之bash编程

热门文章

  1. 解剖JavaScript中的null和undefined
  2. Docker镜像优化
  3. [luogu3760 TJOI2017] 异或和(树状数组)
  4. BZOJ3572: [Hnoi2014]世界树
  5. c++ Qt向PHP接口POST文件流
  6. 数据结构编程实战汇总
  7. 用javascript实现仿163的js广告向下挤压页面的效果
  8. jQuery 实现图片的特效1[原]
  9. ArcGIS Engine开发-TOCControl中实现图层的拖放
  10. libc.so.6 is needed by mysql_libc.so.6(GLIBC_2.14)(64bit) is needed by…问题的解决办法