Spec-Zone.ru › PointCloudLibrary

Записыватель формата файлов данных облака точек (PCD). Подробнее...

#include <pcl/io/pcd_io.h>

Inheritance graph
[легенда]
Collaboration graph
[легенда]
END_OF_DOCUMENT_MARKER

Общедоступные члены-функции

PCDWriter ()
~PCDWriter () override=default
void setMapSynchronization (bool sync)
Установить, требуется ли синхронизация mmap() с помощью msync() перед вызовами munmap(). Подробнее...
std::string generateHeaderBinary (const pcl::PCLPointCloud2 &cloud, const Eigen::Vector4f &origin, const Eigen::Quaternionf &orientation)
Сгенерировать заголовок формата файла PCD. Подробнее...
int generateHeaderBinaryCompressed (std::ostream &os, const pcl::PCLPointCloud2 &cloud, const Eigen::Vector4f &origin, const Eigen::Quaternionf &orientation)
Сгенерировать заголовок формата файла BINARY_COMPRESSED PCD. Подробнее...
std::string generateHeaderBinaryCompressed (const pcl::PCLPointCloud2 &cloud, const Eigen::Vector4f &origin, const Eigen::Quaternionf &orientation)
Сгенерировать заголовок формата файла BINARY_COMPRESSED PCD. Подробнее...
std::string generateHeaderASCII (const pcl::PCLPointCloud2 &cloud, const Eigen::Vector4f &origin, const Eigen::Quaternionf &orientation)
Сгенерировать заголовок формата файла PCD. Подробнее...
int writeASCII (const std::string &file_name, const pcl::PCLPointCloud2 &cloud, const Eigen::Vector4f &origin=Eigen::Vector4f::Zero(), const Eigen::Quaternionf &orientation=Eigen::Quaternionf::Identity(), const int precision=8)
Сохранить данные облака точек в файл PCD, содержащий точки n-D, в формате ASCII. Подробнее...
int writeBinary (const std::string &file_name, const pcl::PCLPointCloud2 &cloud, const Eigen::Vector4f &origin=Eigen::Vector4f::Zero(), const Eigen::Quaternionf &orientation=Eigen::Quaternionf::Identity())
Сохранить данные облака точек в файл PCD, содержащий точки n-D, в формате BINARY. Подробнее...
int writeBinaryCompressed (const std::string &file_name, const pcl::PCLPointCloud2 &cloud, const Eigen::Vector4f &origin=Eigen::Vector4f::Zero(), const Eigen::Quaternionf &orientation=Eigen::Quaternionf::Identity())
Сохранить данные облака точек в файл PCD, содержащий точки n-D, в формате BINARY_COMPRESSED. Подробнее...
int writeBinaryCompressed (std::ostream &os, const pcl::PCLPointCloud2 &cloud, const Eigen::Vector4f &origin=Eigen::Vector4f::Zero(), const Eigen::Quaternionf &orientation=Eigen::Quaternionf::Identity())
Сохранить данные облака точек в std::ostream, содержащий точки n-D, в формате BINARY_COMPRESSED. Подробнее...
int write (const std::string &file_name, const pcl::PCLPointCloud2 &cloud, const Eigen::Vector4f &origin=Eigen::Vector4f::Zero(), const Eigen::Quaternionf &orientation=Eigen::Quaternionf::Identity(), const bool binary=false) override
Сохранить данные облака точек в файл PCD, содержащий точки n-D. Подробнее...
int write (const std::string &file_name, const pcl::PCLPointCloud2::ConstPtr &cloud, const Eigen::Vector4f &origin=Eigen::Vector4f::Zero(), const Eigen::Quaternionf &orientation=Eigen::Quaternionf::Identity(), const bool binary=false)
Сохранить данные облака точек в файл PCD, содержащий точки n-D. Подробнее...
template<typename PointT >
int writeBinary (const std::string &file_name, const pcl::PointCloud< PointT > &cloud)
Сохранить данные облака точек в файл PCD, содержащий точки n-D, в формате BINARY. Подробнее...
template<typename PointT >
int writeBinaryCompressed (const std::string &file_name, const pcl::PointCloud< PointT > &cloud)
Сохранить данные облака точек в сжатый двоичный файл PCD. Подробнее...
template<typename PointT >
int writeBinary (const std::string &file_name, const pcl::PointCloud< PointT > &cloud, const pcl::Indices &indices)
Сохранить данные облака точек в файл PCD, содержащий n-мерные точки в формате BINARY. Подробнее...
template<typename PointT >
int writeASCII (const std::string &file_name, const pcl::PointCloud< PointT > &cloud, const int precision=8)
Сохранить данные облака точек в файл PCD, содержащий n-мерные точки в формате ASCII. Подробнее...
template<typename PointT >
int writeASCII (const std::string &file_name, const pcl::PointCloud< PointT > &cloud, const pcl::Indices &indices, const int precision=8)
Сохранить данные облака точек в файл PCD, содержащий n-мерные точки в формате ASCII. Подробнее...
template<typename PointT >
int write (const std::string &file_name, const pcl::PointCloud< PointT > &cloud, const bool binary=false)
Сохранить данные облака точек в файл PCD, содержащий n-мерные точки. Подробнее...
template<typename PointT >
int write (const std::string &file_name, const pcl::PointCloud< PointT > &cloud, const pcl::Indices &indices, bool binary=false)
Сохранить данные облака точек в файл PCD, содержащий n-мерные точки. Подробнее...
- Публичные методы, унаследованные от pcl::FileWriter
FileWriter ()=default
Пустой конструктор. Подробнее...
virtual ~FileWriter ()=default
Пустой деструктор. Подробнее...
int write (const std::string &file_name, const pcl::PCLPointCloud2::ConstPtr &cloud, const Eigen::Vector4f &origin=Eigen::Vector4f::Zero(), const Eigen::Quaternionf &orientation=Eigen::Quaternionf::Identity(), const bool binary=false)
Сохранить данные облака точек в файл FILE, содержащий n-мерные точки. Подробнее...
template<typename PointT >
int write (const std::string &file_name, const pcl::PointCloud< PointT > &cloud, const bool binary=false)
Сохранить данные облака точек в файл FILE, содержащий n-мерные точки. Подробнее...

Статические публичные члены-функции

template<typename PointT >
static std::string generateHeader (const pcl::PointCloud< PointT > &cloud, const int nr_points=std::numeric_limits< int >::max())
Создать заголовок формата файла PCD. Подробнее...

Защищенные члены-функции

void setLockingPermissions (const std::string &file_name, boost::interprocess::file_lock &lock)
Установить разрешения для блокировки файла (Boost 1.49+). Подробнее...
void resetLockingPermissions (const std::string &file_name, boost::interprocess::file_lock &lock)
Сбросить разрешения для блокировки файла (Boost 1.49+). Подробнее...

Подробное описание

Запись файла формата данных облака точек (PCD).

Автор
Раду Богдан Русу

Определение в строке 297 файла pcd_io.h.

Документация конструктора и деструктора

PCDWriter()

pcl::PCDWriter::PCDWriter ( )
inline

Определение в строке 300 файла pcd_io.h.

~PCDWriter()

pcl::PCDWriter::~PCDWriter ( )
overridedefault

Документация функций-членов

generateHeader()

template<typename PointT >
std::string pcl::PCDWriter::generateHeader ( const pcl::PointCloud< PointT > & cloud,
const int nr_points = std::numeric_limits<int>::max ()
)
static

Генерация заголовка файла формата PCD.

Параметры
[in] cloud сообщение данных облака точек
[in] nr_points если задано, используется для заполнения WIDTH, HEIGHT (=1) и POINTS в заголовке. По умолчанию nr_points устанавливается в INTMAX, и вместо этого используются данные в заголовке.

Определение в строке 57 файла pcd_io.hpp.

Ссылки на pcl::getFieldSize(), pcl::getFieldType(), pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::sensor_orientation_, pcl::PointCloud< PointT >::sensor_origin_, pcl::PointCloud< PointT >::size(), и pcl::PointCloud< PointT >::width.

generateHeaderASCII()

std::string pcl::PCDWriter::generateHeaderASCII ( const pcl::PCLPointCloud2 & cloud,
const Eigen::Vector4f & origin,
const Eigen::Quaternionf & orientation
)

Генерация заголовка файла формата PCD.

Параметры
[in] cloud сообщение данных облака точек
[in] origin начало датчика
[in] orientation ориентация датчика

generateHeaderBinary()

std::string pcl::PCDWriter::generateHeaderBinary ( const pcl::PCLPointCloud2 & cloud,
const Eigen::Vector4f & origin,
const Eigen::Quaternionf & orientation
)

Сгенерировать заголовок в формате PCD файла.

Параметры
[вход] cloud данные облака точек
[вход] origin начальная точка сенсора
[вход] orientation ориентация сенсора

generateHeaderBinaryCompressed() [1/2]

std::string pcl::PCDWriter::generateHeaderBinaryCompressed ( const pcl::PCLPointCloud2 & cloud,
const Eigen::Vector4f & origin,
const Eigen::Quaternionf & orientation
)

Сгенерировать заголовок файла формата BINARY_COMPRESSED PCD.

Параметры
[вход] cloud данные облака точек
[вход] origin начальная точка сенсора
[вход] orientation ориентация сенсора

generateHeaderBinaryCompressed() [2/2]

int pcl::PCDWriter::generateHeaderBinaryCompressed ( std::ostream & os,
const pcl::PCLPointCloud2 & cloud,
const Eigen::Vector4f & origin,
const Eigen::Quaternionf & orientation
)

Сгенерировать заголовок файла формата BINARY_COMPRESSED PCD.

Параметры
[выход] os поток для записи заголовка
[вход] cloud данные облака точек
[вход] origin начальная точка сенсора
[вход] orientation ориентация сенсора
Возвращает
  • < 0 (-1) при ошибке
  • == 0 при успехе

resetLockingPermissions()

void pcl::PCDWriter::resetLockingPermissions ( const std::string & file_name,
boost::interprocess::file_lock & lock
)
protected

Сбросить разрешения на блокировку файла (Boost 1.49+).

Параметры
[вход] file_name имя файла для сброса разрешений на блокировку
[вход, выход] lock блокировка файла

setLockingPermissions()

void pcl::PCDWriter::setLockingPermissions ( const std::string & file_name,
boost::interprocess::file_lock & lock
)
protected

Установить разрешения для блокировки файла (Boost 1.49+).

Параметры
[вход] file_name имя файла, для которого устанавливаются разрешения на блокировку
[вход/выход] lock блокировка файла

setMapSynchronization()

void pcl::PCDWriter::setMapSynchronization ( bool sync )
inline

Установить, требуется ли синхронизация mmap() с помощью msync() перед вызовами munmap().

Установка этого значения в true может предотвратить потерю данных NFS (см. http://www.pcl-developers.org/PCD-IO-consistency-on-NFS-msync-needed-td4885942.html). По умолчанию: false

Примечание
Этот параметр следует использовать только опытным пользователям!
Обратите внимание, что использование msync() на некоторых системах может снизить производительность ввода-вывода до 80%!
Параметры
[вход] sync установить в true, если необходимо вызвать msync() перед munmap()

Определение в строке 312 файла pcd_io.h.

write() [1/4]

int pcl::PCDWriter::write ( const std::string & file_name,
const pcl::PCLPointCloud2 & cloud,
const Eigen::Vector4f & origin = Eigen::Vector4f::Zero (),
const Eigen::Quaternionf & orientation = Eigen::Quaternionf::Identity (),
const bool binary = false
)
inlineoverridevirtual

Сохранить данные облака точек в файл PCD, содержащий точки n-мерного пространства.

Параметры
[вход] file_name имя выходного файла
[вход] cloud сообщение данных облака точек
[вход] origin начало координат датчика
[вход] orientation ориентация датчика
[вход] binary установить в true, если файл должен быть записан в двоичном формате PCD, false (по умолчанию) для ASCII

Предупреждение: Структуры PointCloud, содержащие поле RGB, традиционно использовали упакованные значения с плавающей запятой для хранения данных RGB. Хранение значения с плавающей запятой в ASCII может вносить изменения в младшие биты, и тем самым значительно изменять данные. Это известная проблема, и решение заключается в переключении хранения данных RGB на упакованное целое число в будущих версиях PCL.

В качестве промежуточного решения используется точность 8, что гарантирует безошибочное хранение данных RGB.

Реализует pcl::FileWriter.

Определение в строке 453 файла pcd_io.h.

Используется в pcl::io::savePCDFile(), pcl::io::savePCDFileASCII() и pcl::io::savePCDFileBinary().

write() [2/4]

int pcl::PCDWriter::write ( const std::string & file_name,
const pcl::PCLPointCloud2::ConstPtr & cloud,
const Eigen::Vector4f & origin = Eigen::Vector4f::Zero (),
const Eigen::Quaternionf & orientation = Eigen::Quaternionf::Identity (),
const bool binary = false
)
inline

Сохранить данные облака точек в файл PCD, содержащий точки n-мерного пространства.

Параметры
[вход] file_name имя выходного файла
[вход] cloud сообщение данных облака точек (указатель boost shared pointer)
[вход] binary установить в true, если файл должен быть записан в двоичном формате PCD, false (по умолчанию) для ASCII
[вход] origin начало координат датчика
[вход] orientation ориентация датчика

Предупреждение: Структуры PointCloud, содержащие поле RGB, традиционно использовали упакованные значения с плавающей запятой для хранения данных RGB. Хранение значения с плавающей запятой в ASCII может вносить изменения в младшие биты, и тем самым значительно изменять данные. Это известная проблема, и решение заключается в переключении хранения данных RGB на упакованное целое число в будущих версиях PCL.

Определение в строке 479 файла pcd_io.h.

Ссылки на pcl::write().

write() [3/4]

template<typename PointT >
int pcl::PCDWriter::write ( const std::string & имя_файла,
const pcl::PointCloud< PointT > & облако,
const bool двоичный = false
)
inline

Сохранение данных облака точек в файле PCD, содержащем точки n-мерного пространства.

Параметры
[in] имя_файла имя выходного файла
[in] облако данные pcl::PointCloud
[in] двоичный значение true, если файл должен быть записан в двоичном формате PCD, false (по умолчанию) для ASCII

Предупреждение: структуры PointCloud, содержащие поле RGB, традиционно использовали упакованные значения с плавающей точкой для хранения данных RGB. Сохранение числа с плавающей точкой в формате ASCII может привести к искажению самых младших битов, а значит, существенно изменить данные. Это известная проблема, и решение заключается в переходе на хранение данных RGB как упакованного целого числа в будущих версиях PCL.

Определение в строке 553 файла pcd_io.h.

write() [4/4]

template<typename PointT >
int pcl::PCDWriter::write ( const std::string & имя_файла,
const pcl::PointCloud< PointT > & облако,
const pcl::Indices & индексы,
bool двоичный = false
)
inline

Сохранение данных облака точек в файле PCD, содержащем точки n-мерного пространства.

Параметры
[in] имя_файла имя выходного файла
[in] облако данные pcl::PointCloud
[in] индексы множество индексов точек, которые мы хотим записать на диск
[in] двоичный значение true, если файл должен быть записан в двоичном формате PCD, false (по умолчанию) для ASCII

Предупреждение: структуры PointCloud, содержащие поле RGB, традиционно использовали упакованные значения с плавающей точкой для хранения данных RGB. Сохранение числа с плавающей точкой в формате ASCII может привести к искажению самых младших битов, а значит, существенно изменить данные. Это известная проблема, и решение заключается в переходе на хранение данных RGB как упакованного целого числа в будущих версиях PCL.

Определение в строке 577 файла pcd_io.h.

writeASCII() [1/3]

int pcl::PCDWriter::writeASCII ( const std::string & имя_файла,
const pcl::PCLPointCloud2 & облако,
const Eigen::Vector4f & исходная_точка = Eigen::Vector4f::Zero(),
const Eigen::Quaternionf & ориентация = Eigen::Quaternionf::Identity(),
const int точность = 8
)

Сохранение данных облака точек в файле PCD, содержащем точки n-мерного пространства, в формате ASCII.

Параметры
[in] имя_файла имя выходного файла
[in] облако сообщение данных облака точек
[in] исходная_точка начальная точка системы координат датчика
[in] ориентация ориентация системы координат датчика
[in] точность указанная точность числового потока вывода (по умолчанию: 8)

Предупреждение: структуры PointCloud, содержащие поле RGB, традиционно использовали упакованные значения с плавающей точкой для хранения данных RGB. Сохранение числа с плавающей точкой в формате ASCII может привести к искажению самых младших битов, а значит, существенно изменить данные. Это известная проблема, и решение заключается в переходе на хранение данных RGB как упакованного целого числа в будущих версиях PCL.

В качестве промежуточного решения используется точность 8, которая гарантирует сохранение данных RGB без потерь.

writeASCII() [2/3]

template<typename PointT >
int pcl::PCDWriter::writeASCII ( const std::string & file_name,
const pcl::PointCloud< PointT > & cloud,
const int precision = 8
)

Сохранить данные облака точек в файл PCD, содержащий точки n-мерного пространства, в формате ASCII.

Параметры
[in] file_name имя выходного файла
[in] cloud сообщение с данными облака точек
[in] precision точность указанного выходного числового потока (по умолчанию: 8)

Определение в строке 447 файла pcd_io.hpp.

Ссылки на pcl::PCLPointField::BOOL, pcl::PointCloud< PointT >::empty(), pcl::PCLPointField::FLOAT32, pcl::PCLPointField::FLOAT64, pcl::PointCloud< PointT >::height, pcl::PCLPointField::INT16, pcl::PCLPointField::INT32, pcl::PCLPointField::INT64, pcl::PCLPointField::INT8, pcl::PointCloud< PointT >::size(), pcl::PCLPointField::UINT16, pcl::PCLPointField::UINT32, pcl::PCLPointField::UINT64, pcl::PCLPointField::UINT8, и pcl::PointCloud< PointT >::width.

writeASCII() [3/3]

template<typename PointT >
int pcl::PCDWriter::writeASCII ( const std::string & file_name,
const pcl::PointCloud< PointT > & cloud,
const pcl::Indices & indices,
const int precision = 8
)

Сохранить данные облака точек в файл PCD, содержащий точки n-мерного пространства, в формате ASCII.

Параметры
[in] file_name имя выходного файла
[in] cloud сообщение с данными облака точек
[in] indices набор индексов точек, которые мы хотим записать в диск
[in] precision точность указанного выходного числового потока (по умолчанию: 8)

Определение в строке 749 файла pcd_io.hpp.

Ссылки на pcl::PCLPointField::BOOL, pcl::PointCloud< PointT >::empty(), pcl::PCLPointField::FLOAT32, pcl::PCLPointField::FLOAT64, pcl::PointCloud< PointT >::height, pcl::PCLPointField::INT16, pcl::PCLPointField::INT32, pcl::PCLPointField::INT64, pcl::PCLPointField::INT8, pcl::PointCloud< PointT >::points, pcl::PointCloud< PointT >::size(), pcl::PCLPointField::UINT16, pcl::PCLPointField::UINT32, pcl::PCLPointField::UINT64, pcl::PCLPointField::UINT8, и pcl::PointCloud< PointT >::width.

writeBinary() [1/3]

int pcl::PCDWriter::writeBinary ( const std::string & file_name,
const pcl::PCLPointCloud2 & cloud,
const Eigen::Vector4f & origin = Eigen::Vector4f::Zero(),
const Eigen::Quaternionf & orientation = Eigen::Quaternionf::Identity()
)

Сохранить данные облака точек в файл PCD, содержащий точки n-мерного пространства, в формате BINARY.

Параметры
[in] file_name имя выходного файла
[in] cloud сообщение с данными облака точек
[in] origin начало сенсорного приобретения
[in] orientation ориентация сенсорного приобретения

writeBinary() [2/3]

template<typename PointT >
int pcl::PCDWriter::writeBinary ( const std::string & file_name,
const pcl::PointCloud< PointT > & cloud
)

Сохранение данных облака точек в файл PCD, содержащий n-мерные точки, в формате BINARY.

Parameters
[in] file_name имя выходного файла
[in] cloud сообщение с данными облака точек

Определение в строке 111 файла pcd_io.hpp.

Ссылки на pcl::PointCloud< PointT >::empty(), pcl::getFieldSize(), pcl::io::raw_close(), pcl::io::raw_fallocate(), pcl::io::raw_open() и pcl::PointCloud< PointT >::size().

writeBinary() [3/3]

template<typename PointT >
int pcl::PCDWriter::writeBinary ( const std::string & file_name,
const pcl::PointCloud< PointT > & cloud,
const pcl::Indices & indices
)

Сохранение данных облака точек в файл PCD, содержащий n-мерные точки, в формате BINARY.

Parameters
[in] file_name имя выходного файла
[in] cloud сообщение с данными облака точек
[in] indices набор индексов точек, которые мы хотим записать на диск

Определение в строке 620 файла pcd_io.hpp.

Ссылки на pcl::PointCloud< PointT >::empty(), pcl::getFieldSize(), pcl::io::raw_close(), pcl::io::raw_fallocate() и pcl::io::raw_open().

writeBinaryCompressed() [1/3]

int pcl::PCDWriter::writeBinaryCompressed ( const std::string & file_name,
const pcl::PCLPointCloud2 & cloud,
const Eigen::Vector4f & origin = Eigen::Vector4f::Zero(),
const Eigen::Quaternionf & orientation = Eigen::Quaternionf::Identity()
)

Сохранение данных облака точек в файл PCD, содержащий n-мерные точки, в формате BINARY_COMPRESSED.

Parameters
[in] file_name имя выходного файла
[in] cloud сообщение с данными облака точек
[in] origin начало координат датчика
[in] orientation ориентация датчика
Возвращает
(-1) для общей ошибки (-2), если входное облако слишком большое для формата файла 0 при успешном выполнении

Используется в pcl::outofcore::OutofcoreOctreeDiskContainer< PointT >::insertRange() и pcl::io::savePCDFileBinaryCompressed().

writeBinaryCompressed() [2/3]

template<typename PointT >
int pcl::PCDWriter::writeBinaryCompressed ( const std::string & file_name,
const pcl::PointCloud< PointT > & cloud
)

Сохранение данных облака точек в сжатый бинарный файл PCD.

Parameters
[in] file_name имя выходного файла
[in] cloud сообщение с данными облака точек
Возвращает
(-1) для общей ошибки (-2), если входное облако слишком большое для формата файла 0 при успешном выполнении

Определение в строке 243 файла pcd_io.hpp.

Ссылки на pcl::PointCloud< PointT >::empty(), pcl::getFieldSize(), pcl::lzfCompress(), pcl::io::raw_close(), pcl::io::raw_fallocate(), pcl::io::raw_open() и pcl::PointCloud< PointT >::size().

writeBinaryCompressed() [3/3]

int pcl::PCDWriter::writeBinaryCompressed ( std::ostream & os,
const pcl::PCLPointCloud2 & cloud,
const Eigen::Vector4f & origin = Eigen::Vector4f::Zero(),
const Eigen::Quaternionf & orientation = Eigen::Quaternionf::Identity()
)

Сохранение данных облака точек в std::ostream, содержащем n-мерные точки, в формате BINARY_COMPRESSED.

Parameters
[out] os поток для записи данных
[in] cloud сообщение с данными облака точек
[in] origin начало координат датчика
[in] orientation ориентация датчика
Возвращает
(-1) для общей ошибки (-2), если входное облако слишком большое для формата файла 0 при успешном выполнении

Документация для этого класса была сгенерирована из следующих файлов:
  • pcl/io/pcd_io.h
  • pcl/io/impl/pcd_io.hpp

© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_p_c_d_writer.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API