Средство записи файлов в формате Point Cloud Data (PCD). Подробнее...
#include <pcl/io/pcd_io.h>
Открытые функции-члены | |
| 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. Подробнее... |
|
|
| |
| 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+). Подробнее... |
|
Подробное описание
Описание конструкторов и деструкторов
PCDWriter()
| default |
~PCDWriter()
| overridedefault |
Описание функций-членов
generateHeader()
| 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()
| protected |
Сбросить разрешения для блокировки файла (Boost 1.49+).
- Параметры
-
[in] file_name имя файла, для которого нужно сбросить разрешения блокировки [in,out] lock блокировка файла
setLockingPermissions()
| protected |
Установить разрешения для блокировки файла (Boost 1.49+).
- Параметры
-
[in] file_name имя файла, для которого нужно установить разрешения блокировки [in,out] lock блокировка файла
setMapSynchronization()
| 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()
write() [1/4]
| 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]
| 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]
|
Сохранить данные облака точек в файл PCD, содержащий точки n-D.
- Параметры
-
[in] file_name имя выходного файла [in] cloud данные pcl::PointCloud [in] binary установите значение true, чтобы записать файл в двоичном формате PCD; false (по умолчанию) — для ASCII
Внимание: структуры PointCloud с полем RGB традиционно использовали упакованные значения типа float для хранения данных RGB. Представление значения float в ASCII может привести к изменениям в младших битах и, следовательно, существенно исказить данные. Это известная проблема; для её решения в будущих версиях PCL данные RGB будут храниться как упакованное целое число.
write() [4/4]
|
Сохранить данные облака точек в файл 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 будут храниться как упакованное целое число.
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]
| 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]
| 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]
| 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]
| 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]
| 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