使用PCL库将点云导出位pcd文件时有两种方式,一种方式是直接调用pcl::io中的保存函数,另外一种方式是使用pcl::PCDWriter类。
文件类型
保存pcd文件时,有ASCII和Binary两种类型可选,实际中更推荐二进制模式。
- 以ASCII模式输出,优点是点云是明文的,用文本阅读器打开pcd文件,可以直接看到点的坐标,点云规则排列。缺点是文件体积大,读写慢。
- 以二进制模式输出,优点是读写速度块,文件体积小,缺点是文件无法直接打开。
保存方式
一、使用pcl::io中的保存函数,需要包含头文件pcd_io.h。函数共有三种形式
- savePCDFile,默认按照ASCII模式保存
- savePCDFileASCII,按照明文的ASCII保存,
- savePCDFileBinary,按照二进制保存。
二、使用pcl::PCDWriter
- 类成员函数write,最后一个参数可以设置保存类型,默认是ASCII.
- 类成员函数writeASCII,以明文保存。
- 类成员函数writeBinary,以二进制保存。
总结:两种保存方式并无区别,pcl::io本质也是调用pcl::PCDWriter去保存点云,只是封装了以下而已。