read (const std::string &file_name, pcl::PCLPointCloud2 &cloud, Eigen::Vector4f &origin, Eigen::Quaternionf &orientation, int &pcd_version, const int offset = 0) override; /** \brief Read a point cloud data from a PCD (PCD_V6) and store it into a pcl/PCLPointCloud2. * * \note This function is provided for backwards compatibility only and * it can only read PCD_V6 files correctly, as pcl::PCLPointCloud2 * does not contain a sensor origin/orientation. Reading any file * > PCD_V6 will generate a warning. * * \param[in] file_name the name of the file containing the actual PointCloud data * \param[out] cloud the resultant PointCloud message read from disk * \param[in] offset the offset of where to expect the PCD Header in the * file (optional parameter). One usage example for setting the offset * parameter is for reading data from a TAR "archive containing multiple * PCD files: TAR files always add a 512 byte header in front of the * actual file, so set the offset to the next byte after the header * (e.g., 513). * * \return * * < 0 (-1) on error * * == 0 on success */
时间: 2024-02-14 17:21:33 浏览: 207
这是 PCL 中的一个文件读取函数,用于读取 PCD_V6 格式的点云文件,并将点云数据存储在一个 `pcl::PCLPointCloud2` 对象中。此函数提供了向后兼容性,因为它可以读取 PCD_V6 文件,但不包含传感器原点/方向信息。读取任何 PCD_V6 以上版本的文件都会生成警告。
该函数的参数及其含义如下:
- `file_name`:点云文件名。
- `cloud`:用于存储点云数据的 `pcl::PCLPointCloud2` 对象。
- `origin`:点云数据的原点坐标。
- `orientation`:点云数据的传感器方向。
- `pcd_version`:点云数据的 PCD 版本号。
- `offset`:PCD 文件头的偏移量,用于读取 TAR 存档文件中的多个 PCD 文件。
该函数的返回值:
- `< 0`:读取失败。
- `0`:读取成功。
需要注意的是,该函数不会自动释放 `cloud` 对象的内存空间,需要在使用完毕后手动释放。
阅读全文