Чтение файлов формата Point Cloud Data (PCD). Подробнее...
#include <pcl/io/pcd_io.h>
Общедоступные типы | |
| Перечисление | { PCD_V6 = 0 , PCD_V7 = 1 } |
| Разные версии файлов PCD. Подробнее... |
|
Общедоступные члены-функции | |
| PCDReader ()=default | |
| Пустой конструктор. Подробнее... |
|
| ~PCDReader () override=default | |
| Пустой деструктор. Подробнее... |
|
| int | readHeader (std::istream &binary_istream, pcl::PCLPointCloud2 &cloud, Eigen::Vector4f &origin, Eigen::Quaternionf &orientation, int &pcd_version, int &data_type, unsigned int &data_idx) |
| Чтение заголовка данных облака точек из бинарного потока в формате PCD. Подробнее... |
|
| int | readHeader (const std::string &file_name, pcl::PCLPointCloud2 &cloud, Eigen::Vector4f &origin, Eigen::Quaternionf &orientation, int &pcd_version, int &data_type, unsigned int &data_idx, const int offset=0) override |
| Чтение заголовка данных облака точек из файла PCD. Подробнее... |
|
| int | readHeader (const std::string &file_name, pcl::PCLPointCloud2 &cloud, const int offset=0) |
| Чтение заголовка данных облака точек из файла PCD. Подробнее... |
|
| int | readBodyASCII (std::istream &stream, pcl::PCLPointCloud2 &cloud, int pcd_version) |
| Чтение данных облака точек (тела) из потока PCD. Подробнее... |
|
| int | readBodyBinary (const unsigned char *data, pcl::PCLPointCloud2 &cloud, int pcd_version, bool compressed, unsigned int data_idx) |
| Чтение данных облака точек (тела) из блока памяти. Подробнее... |
|
| int | read (const std::string &file_name, pcl::PCLPointCloud2 &cloud, Eigen::Vector4f &origin, Eigen::Quaternionf &orientation, int &pcd_version, const int offset=0) override |
| Чтение данных облака точек из файла PCD и сохранение их в pcl/PCLPointCloud2. Подробнее... |
|
| int | read (const std::string &file_name, pcl::PCLPointCloud2 &cloud, const int offset=0) |
| Чтение данных облака точек из файла PCD (PCD_V6) и сохранение их в pcl/PCLPointCloud2. Подробнее... |
|
| template<typename PointT > | |
| int | read (const std::string &file_name, pcl::PointCloud< PointT > &cloud, const int offset=0) |
| Чтение данных облака точек из любого файла PCD и преобразование в указанный шаблонный формат. Подробнее... |
|
|
| |
| FileReader ()=default | |
| пустой конструктор Подробнее... |
|
| virtual | ~FileReader ()=default |
| пустой деструктор Подробнее... |
|
| int | read (const std::string &file_name, pcl::PCLPointCloud2 &cloud, const int offset=0) |
| Чтение данных облака точек из файла (только FILE_V6!) и сохранение их в pcl/PCLPointCloud2. Подробнее... |
|
| template<typename PointT > | |
| int | read (const std::string &file_name, pcl::PointCloud< PointT > &cloud, const int offset=0) |
| Чтение данных облака точек из любого файла и преобразование в указанный шаблонный формат. Подробнее... |
|
Подробное описание
Документация перечисления членов
безымянный перечисление
| безымянный перечисление |
Различные версии файлов PCD.
PCD_V6 представляет файлы PCD версии 0.6, которые содержат следующие поля:
- строки, начинающиеся с #, обрабатываются как комментарии
- FIELDS ...
- SIZE ...
- TYPE ...
- COUNT ...
- WIDTH ...
- HEIGHT ...
- POINTS ...
- DATA ascii/binary
Все, что следует за DATA, интерпретируется как точки данных и будет читаться соответствующим образом.
PCD_V7 представляет файлы PCD версии 0.7 и имеет важное дополнение: он добавляет информацию о начале/ориентации датчика (т.е. точке обзора) к набору данных с помощью нового поля заголовка:
- VIEWPOINT tx ty tz qw qx qy qz
| Перечисление | |
|---|---|
| PCD_V6 | |
| PCD_V7 | |
Документация конструкторов и деструкторов
PCDReader()
| по умолчанию |
Конструктор по умолчанию.
~PCDReader()
| переопределенопо умолчанию |
Деструктор по умолчанию.
Документация функций-членов
read() [1/3]
| int pcl::PCDReader::read | ( | const std::string & | file_name, |
| pcl::PCLPointCloud2 & | cloud, | ||
| const int |
offset = 0 | ||
| ) |
Чтение данных облака точек из файла PCD (PCD_V6) и сохранение их в pcl/PCLPointCloud2.
- Примечание
- Эта функция предоставляется только для обеспечения обратной совместимости и может корректно читать только файлы PCD_V6, так как pcl::PCLPointCloud2 не содержит информацию о начале/ориентации датчика. Чтение любого файла
PCD_V6 выведет предупреждение.
- Параметры
-
[in] file_name имя файла, содержащего фактические данные PointCloud [out] cloud результирующее сообщение PointCloud, считанное с диска [in] offset смещение, где ожидается заголовок PCD в файле (дополнительный параметр). Один пример использования параметра смещения — чтение данных из архива TAR, содержащего несколько файлов PCD: файлы TAR всегда добавляют заголовок размером 512 байт перед фактическим файлом, поэтому установите смещение на следующий байт после заголовка (например, 513).
- Возвращает
-
- < 0 (-1) при ошибке
- == 0 при успехе
read() [2/3]
| переопределеновиртуальный |
Чтение данных облака точек из файла PCD и сохранение их в pcl/PCLPointCloud2.
- Параметры
-
[in] file_name имя файла, содержащего фактические данные PointCloud [out] cloud результирующее сообщение PointCloud, считанное с диска [out] origin начало датчика (только для > PCD_V7 — null, если отсутствует) [out] orientation ориентация датчика (только для > PCD_V7 — единичная, если отсутствует) [out] pcd_version версия файла PCD (либо PCD_V6, либо PCD_V7) [in] offset смещение, где ожидается заголовок PCD в файле (дополнительный параметр). Один пример использования параметра смещения — чтение данных из архива TAR, содержащего несколько файлов PCD: файлы TAR всегда добавляют заголовок размером 512 байт перед фактическим файлом, поэтому установите смещение на следующий байт после заголовка (например, 513).
- Возвращает
-
- < 0 (-1) при ошибке
- == 0 при успехе
Реализует pcl::FileReader.
Используется в pcl::gpu::DataSource::DataSource(), pcl::outofcore::OutofcoreOctreeDiskContainer< PointT >::insertRange(), pcl::io::loadPCDFile(), pcl::LineRGBD< PointXYZT, PointRGBT >::loadTemplates(), и pcl::outofcore::OutofcoreOctreeDiskContainer< PointT >::readRange().
read() [3/3]
| inline |
Считывает данные облака точек из любого файла PCD и преобразует их в указанный шаблонный формат.
- Параметры
-
[in] file_name имя файла, содержащего фактические данные PointCloud [out] cloud результирующее сообщение PointCloud, считанное с диска [in] offset смещение, где ожидается заголовок PCD в файле (необязательный параметр). Один пример использования параметра смещения — чтение данных из TAR-«архива», содержащего несколько файлов PCD: файлы TAR всегда добавляют заголовок размером 512 байт перед фактическим файлом, поэтому смещение устанавливается на следующий байт после заголовка (например, 513).
- Возвращает
-
- < 0 (-1) при ошибке
- == 0 при успехе
Определение в строке 277 файла pcd_io.h.
Ссылки на pcl::fromPCLPointCloud2(), pcl::read(), pcl::PointCloud< PointT >::sensor_orientation_ и pcl::PointCloud< PointT >::sensor_origin_.
readBodyASCII()
| int pcl::PCDReader::readBodyASCII | ( | std::istream & | stream, |
| pcl::PCLPointCloud2 & | cloud, | ||
| int | pcd_version | ||
| ) |
Считывает данные облака точек (тело) из потока PCD.
Считывает точки облака из текстового потока. Для использования после readHeader(), когда data_type == 0.
- Внимание
- Предполагается, что поток был переведён в позицию, указанную результатом data_idx от readHeader().
- Параметры
-
[in] stream поток, из которого считывается тело. [out] cloud результирующий набор данных облака точек, который будет заполнен. [in] pcd_version версия PCD потока (из readHeader()).
- Возвращает
-
- < 0 (-1) при ошибке
- == 0 при успехе
readBodyBinary()
| int pcl::PCDReader::readBodyBinary | ( | const unsigned char * | data, |
| pcl::PCLPointCloud2 & | cloud, | ||
| int | pcd_version, | ||
| bool | compressed, | ||
| unsigned int | data_idx | ||
| ) |
Считывает данные облака точек (тело) из блока памяти.
Считывает точки облака из двоичного блока памяти. Для использования после readHeader(), когда data_type отлично от нуля.
- Параметры
-
[in] data местоположение в памяти, из которого считывается тело. [out] cloud результирующий набор данных облака точек, который будет заполнен. [in] pcd_version версия PCD потока (из readHeader()). [in] compressed указывает, содержит ли блок PCD сжатые данные. Должно быть истинным, если data_type, возвращённый readHeader(), равно 2. [in] data_idx смещение тела, как сообщается readHeader().
- Возвращает
-
- < 0 (-1) при ошибке
- == 0 при успехе
readHeader() [1/3]
| int pcl::PCDReader::readHeader | ( | const std::string & | file_name, |
| pcl::PCLPointCloud2 & | cloud, | ||
| const int |
offset = 0 | ||
| ) |
Считывает заголовок данных облака точек из файла PCD.
Загружает только метаинформацию (количество точек, их типы и т. д.), а не сами точки, из заданного файла PCD. Полезно для быстрого анализа структуры данных.
- Внимание
- Данные PCD всегда хранятся в формате ROW-major! Методы read/write PCD будут распознавать входной формат column-major и автоматически преобразовывать его.
- Параметры
-
[in] file_name имя файла для загрузки [out] cloud результирующий набор данных облака точек (только эти члены будут заполнены: width, height, point_step, row_step, fields[]; данные изменят размер, но не будут записаны) [in] offset смещение, где ожидается заголовок PCD в файле (необязательный параметр). Один пример использования параметра смещения — чтение данных из TAR-«архива», содержащего несколько файлов PCD: файлы TAR всегда добавляют заголовок размером 512 байт перед фактическим файлом, поэтому смещение устанавливается на следующий байт после заголовка (например, 513).
- Возвращает
-
- < 0 (-1) при ошибке
- == 0 при успехе
readHeader() [2/3]
| overridevirtual |
Чтение заголовка данных облака точек из файла PCD.
Загрузка только метаинформации (количество точек, их типы и т. д.), а не самих точек из заданного файла PCD. Полезно для быстрого анализа структуры данных.
- Внимание
- Данные PCD всегда хранятся в формате ROW-major! Методы чтения/записи PCD будут обнаруживать входной формат column-major и автоматически преобразовывать его.
- Параметры
-
[in] file_name имя файла для загрузки [out] cloud результирующее облако точек (будут заполнены только эти члены: ширина, высота, шаг_точки, шаг_строки, поля[]; данные изменят размер, но не будут записаны) [out] origin начальная точка датчика (только для > PCD_V7 - null, если отсутствует) [out] orientation ориентация датчика (только для > PCD_V7 - единичная матрица, если отсутствует) [out] pcd_version версия PCD файла (например, PCD_V6, PCD_V7) [out] data_type тип данных (0 = ASCII, 1 = Binary, 2 = Binary сжатый) [out] data_idx смещение данных облака в файле [in] offset смещение, где ожидается заголовок PCD в файле (необязательный параметр). Пример использования параметра смещения - чтение данных из TAR «архива, содержащего несколько файлов PCD: TAR-файлы всегда добавляют заголовок размером 512 байт перед фактическим файлом, поэтому установите смещение на следующий байт после заголовка (например, 513).
- Возвращает
-
- < 0 (-1) при ошибке
- == 0 при успехе
Реализует pcl::FileReader.
readHeader() [3/3]
| int pcl::PCDReader::readHeader | ( | std::istream & | binary_istream, |
| pcl::PCLPointCloud2 & | cloud, | ||
| Eigen::Vector4f & | origin, | ||
| Eigen::Quaternionf & | orientation, | ||
| int & | pcd_version, | ||
| int & | data_type, | ||
| unsigned int & | data_idx | ||
| ) |
Чтение заголовка данных облака точек из бинарного потока в формате PCD.
Загрузка только метаинформации (количество точек, их типы и т. д.), а не самих точек из заданного потока PCD. Полезно для быстрого анализа структуры данных.
- Внимание
- Данные PCD всегда хранятся в формате ROW-major! Методы чтения/записи PCD будут обнаруживать входной формат column-major и автоматически преобразовывать его.
- Параметры
-
[in] binary_istream std::istream с открытым режимом std::ios::binary. [out] cloud результирующее облако точек (будут заполнены только эти члены: ширина, высота, шаг_точки, шаг_строки, поля[]; данные изменят размер, но не будут записаны) [out] origin начальная точка датчика (только для > PCD_V7 - null, если отсутствует) [out] orientation ориентация датчика (только для > PCD_V7 - единичная матрица, если отсутствует) [out] pcd_version версия PCD файла (например, PCD_V6, PCD_V7) [out] data_type тип данных (0 = ASCII, 1 = Binary, 2 = Binary сжатый) [out] data_idx смещение данных облака в файле
- Возвращает
-
- < 0 (-1) при ошибке
- == 0 при успехе
Используется в pcl::outofcore::OutofcoreOctreeDiskContainer< PointT >::getDataSize() и pcl::outofcore::OutofcoreOctreeDiskContainer< PointT >::OutofcoreOctreeDiskContainer().
Документация для этого класса была сгенерирована из следующего файла:
- pcl/io/pcd_io.h
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_p_c_d_reader.html