ApproximateVoxelGrid формирует локальную 3D-сетку для заданного PointCloud и выполняет прореживание и фильтрацию данных. Подробнее...
#include <pcl/filters/approximate_voxel_grid.h>
Открытые типы | |
| using | Ptr = shared_ptr< ApproximateVoxelGrid< PointT > > |
| using | ConstPtr = shared_ptr< const ApproximateVoxelGrid< PointT > > |
|
| |
| using | Ptr = shared_ptr< Filter< PointT > > |
| using | ConstPtr = shared_ptr< const Filter< PointT > > |
| using | PointCloud = pcl::PointCloud< PointT > |
| using | PointCloudPtr = typename PointCloud::Ptr |
| using | PointCloudConstPtr = typename PointCloud::ConstPtr |
|
| |
| using | PointCloud = pcl::PointCloud< PointT > |
| using | PointCloudPtr = typename PointCloud::Ptr |
| using | PointCloudConstPtr = typename PointCloud::ConstPtr |
| using | PointIndicesPtr = PointIndices::Ptr |
| using | PointIndicesConstPtr = PointIndices::ConstPtr |
Открытые функции-члены | |
| ApproximateVoxelGrid () | |
| Конструктор без параметров. Подробнее... |
|
| ApproximateVoxelGrid (const ApproximateVoxelGrid &src) | |
| Конструктор копирования. Подробнее... |
|
| ~ApproximateVoxelGrid () override | |
| Деструктор. Подробнее... |
|
| ApproximateVoxelGrid & | operator= (const ApproximateVoxelGrid &src) |
| Оператор копирования. Подробнее... |
|
| void | setLeafSize (const Eigen::Vector3f &leaf_size) |
| Задать размер ячейки воксельной сетки. Подробнее... |
|
| void | setLeafSize (float lx, float ly, float lz) |
| Задать размер ячейки воксельной сетки. Подробнее... |
|
| Eigen::Vector3f | getLeafSize () const |
| Получить размер ячейки воксельной сетки. Подробнее... |
|
| void | setDownsampleAllData (bool downsample) |
| Установите значение true, если необходимо прореживать все поля, или false, если только XYZ. Подробнее... |
|
| bool | getDownsampleAllData () const |
| Получить состояние внутреннего параметра прореживания (true, если необходимо прореживать все поля, false, если только XYZ). Подробнее... |
|
|
| |
| Filter (bool extract_removed_indices=false) | |
| Конструктор без параметров. Подробнее... |
|
| IndicesConstPtr const | getRemovedIndices () const |
| Получить индексы удаляемых точек. Подробнее... |
|
| void | getRemovedIndices (PointIndices &pi) |
| Получить индексы удаляемых точек. Подробнее... |
|
| void | filter (PointCloud &output) |
| Вызывает метод фильтрации и возвращает отфильтрованный набор данных в output. Подробнее... |
|
|
| |
| PCLBase () | |
| Конструктор без параметров. Подробнее... |
|
| PCLBase (const PCLBase &base) | |
| Конструктор копирования. Подробнее... |
|
| virtual | ~PCLBase ()=default |
| Деструктор. Подробнее... |
|
| virtual void | setInputCloud (const PointCloudConstPtr &cloud) |
| Передать указатель на входной набор данных. Подробнее... |
|
| PointCloudConstPtr const | getInputCloud () const |
| Получить указатель на входной набор данных облака точек. Подробнее... |
|
| virtual void | setIndices (const IndicesPtr &indices) |
| Передать указатель на вектор индексов, представляющий входные данные. Подробнее... |
|
| virtual void | setIndices (const IndicesConstPtr &indices) |
| Передать указатель на вектор индексов, представляющий входные данные. Подробнее... |
|
| virtual void | setIndices (const PointIndicesConstPtr &indices) |
| Передать указатель на вектор индексов, представляющий входные данные. Подробнее... |
|
| virtual void | setIndices (std::size_t row_start, std::size_t col_start, std::size_t nb_rows, std::size_t nb_cols) |
| Задать индексы точек, расположенных в интересующей области облака точек. Подробнее... |
|
| IndicesPtr | getIndices () |
| Получить указатель на используемый вектор индексов. Подробнее... |
|
| IndicesConstPtr const | getIndices () const |
| Получить указатель на используемый вектор индексов. Подробнее... |
|
| const PointT & | operator[] (std::size_t pos) const |
| Переопределяет оператор [] класса PointCloud для сокращения кода. Подробнее... |
|
Защищённые типы | |
| using | FieldList = typename pcl::traits::fieldList< PointT >::type |
Защищённые функции-члены | |
| void | applyFilter (PointCloud &output) override |
| Прореживание облака точек с использованием воксельной сетки. Подробнее... |
|
| void | flush (PointCloud &output, std::size_t op, he *hhe, int rgba_index, int centroid_size) |
| Записать одну точку из хеш-таблицы в выходное облако. Подробнее... |
|
|
| |
| const std::string & | getClassName () const |
| Получить строковое представление имени этого класса. Подробнее... |
|
|
| |
| bool | initCompute () |
| Этот метод следует вызывать перед началом фактических вычислений. Подробнее... |
|
| bool | deinitCompute () |
| Этот метод следует вызывать после завершения фактических вычислений. Подробнее... |
|
Защищённые атрибуты | |
| Eigen::Vector3f | leaf_size_ |
| Размер вокселя. Подробнее... |
|
| Eigen::Array3f | inverse_leaf_size_ |
| Вычислить 1/leaf_size_, чтобы избежать деления в дальнейшем. Подробнее... |
|
| bool | downsample_all_data_ {true} |
| Установите значение true, если нужно прореживать все поля, или false, если только XYZ. Подробнее... |
|
| std::size_t | histsize_ {512} |
| размер буфера истории, степень двойки Подробнее... |
|
| struct he * | history_ |
| буфер истории Подробнее... |
|
|
| |
| IndicesPtr | removed_indices_ |
| Индексы удалённых точек. Подробнее... |
|
| std::string | filter_name_ |
| Имя фильтра. Подробнее... |
|
| bool | extract_removed_indices_ |
| Установите значение true, если нужно возвращать индексы удалённых точек. Подробнее... |
|
|
| |
| PointCloudConstPtr | input_ |
| Входной набор данных облака точек. Подробнее... |
|
| IndicesPtr | indices_ |
| Указатель на вектор используемых индексов точек. Подробнее... |
|
| bool | use_indices_ |
| Установите значение true, если используются индексы точек. Подробнее... |
|
| bool | fake_indices_ |
| Если набор индексов не задан, мы создаём набор фиктивных индексов, соответствующий входному PointCloud. Подробнее... |
|
Подробное описание
template<typename PointT>
class pcl::ApproximateVoxelGrid< PointT >
ApproximateVoxelGrid формирует локальную 3D-сетку для заданного PointCloud, а также прореживает и фильтрует данные.
Таким образом, этот класс похож на фильтр VoxelGrid. Он лучше всего работает, если точки, расположенные рядом друг с другом в памяти (во входном облаке точек), также находятся относительно близко друг к другу в евклидовом пространстве 3D (например, так обычно бывает для организованных облаков точек). Если порядок хранения точек не задан (например, в синтетических облаках точек, сгенерированных случайным образом), этот класс даст очень плохие результаты; в таком случае следует использовать VoxelGrid.
- См. также
- VoxelGrid
Определение в строке 100 файла approximate_voxel_grid.h.
Документация по псевдонимам типов-членов
ConstPtr
| using pcl::ApproximateVoxelGrid< PointT >::ConstPtr = shared_ptr<const ApproximateVoxelGrid<PointT> > |
Определение в строке 123 файла approximate_voxel_grid.h.
FieldList
| protected |
Определение в строке 231 файла approximate_voxel_grid.h.
Ptr
| using pcl::ApproximateVoxelGrid< PointT >::Ptr = shared_ptr<ApproximateVoxelGrid<PointT> > |
Определение в строке 122 файла approximate_voxel_grid.h.
Документация по конструкторам и деструкторам
ApproximateVoxelGrid() [1/2]
| inline |
Конструктор без параметров.
Определение в строке 127 файла approximate_voxel_grid.h.
Ссылки на pcl::Filter< PointT >::filter_name_.
ApproximateVoxelGrid() [2/2]
| inline |
Конструктор копирования.
- Параметры
-
[in] src приближённая воксельная сетка, копируемая в этот объект.
Определение в строке 140 файла approximate_voxel_grid.h.
Ссылки на pcl::ApproximateVoxelGrid< PointT >::history_ и pcl::ApproximateVoxelGrid< PointT >::histsize_.
~ApproximateVoxelGrid()
| inlineoverride |
Деструктор.
Определение в строке 156 файла approximate_voxel_grid.h.
Документация по функциям-членам
applyFilter()
| overrideprotectedvirtual |
Прореживание облака точек с использованием воксельной сетки.
- Параметры
-
output результирующее сообщение облака точек
Реализует pcl::Filter< PointT >.
Определение в строке 66 файла approximate_voxel_grid.hpp.
Ссылки на pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::isXYZFinite(), pcl::PointCloud< PointT >::resize(), pcl::PointCloud< PointT >::size() и pcl::PointCloud< PointT >::width.
flush()
| protected |
Записать одну точку из хеш-таблицы в выходное облако.
Определение в строке 48 файла approximate_voxel_grid.hpp.
getDownsampleAllData()
| inline |
Получить состояние внутреннего параметра прореживания (true — если нужно прореживать все поля, false — если только XYZ).
Определение в строке 213 файла approximate_voxel_grid.h.
Ссылка на pcl::ApproximateVoxelGrid< PointT >::downsample_all_data_.
getLeafSize()
| inline |
Получить размер вокселя воксельной сетки.
Определение в строке 201 файла approximate_voxel_grid.h.
operator=()
| inline |
Оператор копирования.
- Параметры
-
[in] src приближённая воксельная сетка, копируемая в текущий объект.
Определение в строке 166 файла approximate_voxel_grid.h.
Ссылки на pcl::ApproximateVoxelGrid< PointT >::downsample_all_data_, pcl::ApproximateVoxelGrid< PointT >::history_, pcl::ApproximateVoxelGrid< PointT >::histsize_, pcl::ApproximateVoxelGrid< PointT >::inverse_leaf_size_ и pcl::ApproximateVoxelGrid< PointT >::leaf_size_.
setDownsampleAllData()
| inline |
Установите значение true, если требуется уменьшить разрешение всех полей, или false, если только XYZ.
- Параметры
-
downsample новое значение (true/false)
Определение в строке 207 файла approximate_voxel_grid.h.
Ссылки на pcl::ApproximateVoxelGrid< PointT >::downsample_all_data_.
setLeafSize() [1/2]
| inline |
Задаёт размер ячейки воксельной сетки.
- Параметры
-
[in] leaf_size размер ячейки воксельной сетки
Определение в строке 182 файла approximate_voxel_grid.h.
Ссылки на pcl::ApproximateVoxelGrid< PointT >::inverse_leaf_size_ и pcl::ApproximateVoxelGrid< PointT >::leaf_size_.
Используется в pcl::ApproximateVoxelGrid< PointT >::setLeafSize().
setLeafSize() [2/2]
| inline |
Задаёт размер ячейки воксельной сетки.
- Параметры
-
[in] lx размер ячейки по X [in] ly размер ячейки по Y [in] lz размер ячейки по Z
Определение в строке 194 файла approximate_voxel_grid.h.
Ссылки на pcl::ApproximateVoxelGrid< PointT >::setLeafSize().
Описание данных-членов
downsample_all_data_
| protected |
Установите значение true, если требуется уменьшить разрешение всех полей, или false, если только XYZ.
Определение в строке 223 файла approximate_voxel_grid.h.
Используется в pcl::ApproximateVoxelGrid< PointT >::getDownsampleAllData(), pcl::ApproximateVoxelGrid< PointT >::operator=() и pcl::ApproximateVoxelGrid< PointT >::setDownsampleAllData().
history_
| protected |
буфер истории
Определение в строке 229 файла approximate_voxel_grid.h.
Используется в pcl::ApproximateVoxelGrid< PointT >::ApproximateVoxelGrid(), pcl::ApproximateVoxelGrid< PointT >::operator=() и pcl::ApproximateVoxelGrid< PointT >::~ApproximateVoxelGrid().
histsize_
| protected |
размер буфера истории, степень 2
Определение в строке 226 файла approximate_voxel_grid.h.
Используется в pcl::ApproximateVoxelGrid< PointT >::ApproximateVoxelGrid() и pcl::ApproximateVoxelGrid< PointT >::operator=().
inverse_leaf_size_
| protected |
Вычисляет 1/leaf_size_, чтобы избежать деления в дальнейшем.
Определение в строке 220 файла approximate_voxel_grid.h.
Используется в pcl::ApproximateVoxelGrid< PointT >::operator=() и pcl::ApproximateVoxelGrid< PointT >::setLeafSize().
leaf_size_
| protected |
Размер ячейки.
Определение в строке 217 файла approximate_voxel_grid.h.
Используется в pcl::ApproximateVoxelGrid< PointT >::getLeafSize(), pcl::ApproximateVoxelGrid< PointT >::operator=() и pcl::ApproximateVoxelGrid< PointT >::setLeafSize().
Документация этого класса создана на основе следующих файлов:
- pcl/filters/approximate_voxel_grid.h
- pcl/filters/impl/approximate_voxel_grid.hpp
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_approximate_voxel_grid.html