Spec-Zone.ru › PointCloudLibrary

Средство записи файлов в формате Point Cloud Data (PCD). Подробнее...

#include <pcl/io/pcd_io.h>

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

Открытые функции-члены

PCDWriter ()=default
~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)
Сформировать заголовок файла PCD в формате BINARY_COMPRESSED. Подробнее...
std::string generateHeaderBinaryCompressed (const pcl::PCLPointCloud2 &cloud, const Eigen::Vector4f &origin, const Eigen::Quaternionf &orientation)
Сформировать заголовок файла PCD в формате BINARY_COMPRESSED. Подробнее...
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)
Сохранить данные облака точек, содержащего точки размерности n, в файл PCD в формате 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())
Сохранить данные облака точек, содержащего точки размерности n, в файл PCD в бинарном формате. Подробнее...
int writeBinary (std::ostream &os, const pcl::PCLPointCloud2 &cloud, const Eigen::Vector4f &origin=Eigen::Vector4f::Zero(), const Eigen::Quaternionf &orientation=Eigen::Quaternionf::Identity())
Сохранить данные облака точек, содержащего точки размерности n, в std::ostream в бинарном формате. Подробнее...
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())
Сохранить данные облака точек, содержащего точки размерности n, в файл PCD в сжатом бинарном формате 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())
Сохранить данные облака точек, содержащего точки размерности n, в std::ostream в сжатом бинарном формате 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
Сохранить данные облака точек, содержащего точки размерности n, в файл PCD. Подробнее...
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)
Сохранить данные облака точек, содержащего точки размерности n, в файл PCD. Подробнее...
template<typename PointT >
int writeBinary (const std::string &file_name, const pcl::PointCloud< PointT > &cloud)
Сохранить данные облака точек, содержащего точки размерности n, в файл PCD в бинарном формате. Подробнее...
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)
Сохранить данные облака точек, содержащего точки размерности n, в файл PCD в бинарном формате. Подробнее...
template<typename PointT >
int writeASCII (const std::string &file_name, const pcl::PointCloud< PointT > &cloud, const int precision=8)
Сохранить данные облака точек, содержащего точки размерности n, в файл PCD в формате ASCII. Подробнее...
template<typename PointT >
int writeASCII (const std::string &file_name, const pcl::PointCloud< PointT > &cloud, const pcl::Indices &indices, const int precision=8)
Сохранить данные облака точек, содержащего точки размерности n, в файл PCD в формате ASCII. Подробнее...
template<typename PointT >
int write (const std::string &file_name, const pcl::PointCloud< PointT > &cloud, const bool binary=false)
Сохранить данные облака точек, содержащего точки размерности n, в файл PCD. Подробнее...
template<typename PointT >
int write (const std::string &file_name, const pcl::PointCloud< PointT > &cloud, const pcl::Indices &indices, bool binary=false)
Сохранить данные облака точек, содержащего точки размерности n, в файл PCD. Подробнее...
- Открытые функции-члены, унаследованные от 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)
Сохранить данные облака точек, содержащего точки размерности n, в файл FILE. Подробнее...
template<typename PointT >
int write (const std::string &file_name, const pcl::PointCloud< PointT > &cloud, const bool binary=false)
Сохранить данные облака точек, содержащего точки размерности n, в файл FILE. Подробнее...

Открытые статические функции-члены

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+). Подробнее...

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

Средство записи файлов в формате Point Cloud Data (PCD).

Автор
Radu Bogdan Rusu

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

Описание конструкторов и деструкторов

PCDWriter()

pcl::PCDWriter::PCDWriter ( )
default

~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.

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

generateHeaderBinaryCompressed() [1/2]

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

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

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

generateHeaderBinaryCompressed() [2/2]

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

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

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

resetLockingPermissions()

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

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

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

setLockingPermissions()

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

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

Параметры
[in] file_name имя файла, для которого нужно установить разрешения блокировки
[in,out] 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%!
Параметры
[in] sync установите значение true, если перед munmap() следует вызвать msync()

Определение в строке 313 файла 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-D.

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

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

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

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

Определение в строке 465 файла 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-D.

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

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

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

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

write() [3/4]

template<typename PointT >
int pcl::PCDWriter::write ( const std::string & file_name,
const pcl::PointCloud< PointT > & cloud,
const bool binary = false
)

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

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

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

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

write() [4/4]

template<typename PointT >
int pcl::PCDWriter::write ( const std::string & file_name,
const pcl::PointCloud< PointT > & cloud,
const pcl::Indices & indices,
bool binary = false
)

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

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

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

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

writeASCII() [1/3]

int pcl::PCDWriter::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.

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

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

В качестве промежуточного решения используется точность 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-D, в формате ASCII.

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

Определение в строке 439 файла 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
)

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

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

Определение в строке 733 файла 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/4]

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()
)

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

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

writeBinary() [2/4]

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

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

Параметры
[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/4]

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

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

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

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

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

writeBinary() [4/4]

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

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

Параметры
[out] os поток, в который записываются данные
[in] cloud сообщение с данными облака точек
[in] origin начало координат при получении данных сенсором
[in] orientation ориентация сенсора при получении данных

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()
)

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

Параметры
[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 со сжатием в двоичном формате.

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

Определение в строке 241 файла 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()
)

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

Параметры
[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