Реализует алгоритм супервокселей на основе структуры вокселей, нормалей и значений RGB. Подробнее...
#include <pcl/segmentation/supervoxel_clustering.h>
Классы | |
| class | VoxelData |
|
VoxelData — структура для хранения данных в pcl::octree::OctreePointCloudAdjacencyContainer. Подробнее... |
|
Публичные члены-функции | |
| SupervoxelClustering (float voxel_resolution, float seed_resolution) | |
| Конструктор, устанавливающий значения по умолчанию для переменных-членов. Подробнее... |
|
| ~SupervoxelClustering () override | |
| Этот деструктор уничтожает облако точек, нормали и метод поиска, используемый для поиска соседей. Подробнее... |
|
| void | setVoxelResolution (float resolution) |
| Установить разрешение объёмных ячеек ок-дерева. Подробнее... |
|
| float | getVoxelResolution () const |
| Получить разрешение объёмных ячеек ок-дерева. Подробнее... |
|
| void | setSeedResolution (float seed_resolution) |
| Установить разрешение семя ячеек ок-дерева. Подробнее... |
|
| float | getSeedResolution () const |
| Получить разрешение семя ячеек ок-дерева. Подробнее... |
|
| void | setColorImportance (float val) |
| Установить важность цвета для суперпикселей. Подробнее... |
|
| void | setSpatialImportance (float val) |
| Установить важность пространственного расстояния для суперпикселей. Подробнее... | |
| void | setNormalImportance (float val) |
| Установить важность скалярного произведения нормалей для суперпикселей. Подробнее... | |
| void | setUseSingleCameraTransform (bool val) |
| Установить использование преобразования единственной камеры. Подробнее... | |
| virtual void | extract (std::map< std::uint32_t, typename Supervoxel< PointT >::Ptr > &supervoxel_clusters) |
| Этот метод запускает алгоритм сегментации и возвращает суперпиксели, полученные во время сегментации. Подробнее... | |
| void | setInputCloud (const typename pcl::PointCloud< PointT >::ConstPtr &cloud) override |
| Этот метод устанавливает облако точек для суперпикселизации. Подробнее... | |
| virtual void | setNormalCloud (typename NormalCloudT::ConstPtr normal_cloud) |
| Этот метод устанавливает нормали, которые будут использоваться для суперпикселей (должны быть того же размера, что и облако входных точек). Подробнее... | |
| virtual void | refineSupervoxels (int num_itr, std::map< std::uint32_t, typename Supervoxel< PointT >::Ptr > &supervoxel_clusters) |
| Этот метод уточняет рассчитанные суперпиксели - может быть вызван только после extract. Подробнее... | |
| pcl::PointCloud< PointT >::Ptr | getVoxelCentroidCloud () const |
| Возвращает глубокую копию облака центроидов объёмных ячеек. Подробнее... | |
| pcl::PointCloud< PointXYZL >::Ptr | getLabeledCloud () const |
| Возвращает помеченное облако. Точки, принадлежащие одному суперпикселю, имеют одинаковую метку. Подробнее... | |
| pcl::PointCloud< pcl::PointXYZL >::Ptr | getLabeledVoxelCloud () const |
| Возвращает помеченные вокселизованные облака точек, которые принадлежат одному супервокселю, имеют один и тот же метку. Подробнее... |
|
| void | getSupervoxelAdjacencyList (VoxelAdjacencyList &adjacency_list_arg) const |
| Получает список смежности (библиотека Boost Graph), который показывает связи между супервокселями. Подробнее... |
|
| void | getSupervoxelAdjacency (std::multimap< std::uint32_t, std::uint32_t > &label_adjacency) const |
| Получает карту множеств, которая показывает смежность супервокселей. Подробнее... |
|
| int | getMaxLabel () const |
| Возвращает текущую максимальную (наибольшую) метку. Подробнее... |
|
|
| |
| 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 operator[] для сокращения кода. Подробнее... |
|
Статические публичные члены-функции | |
| static pcl::PointCloud< pcl::PointNormal >::Ptr | makeSupervoxelNormalCloud (std::map< std::uint32_t, typename Supervoxel< PointT >::Ptr > &supervoxel_clusters) |
| Статическая вспомогательная функция, возвращающая облако точек нормалей для входных супервокселей. Подробнее... |
|
Друзья | |
| class | SupervoxelHelper |
| void | boost::checked_delete (const typename pcl::SupervoxelClustering< PointT >::SupervoxelHelper *) |
Дополнительные унаследованные члены | |
|
| |
| bool | initCompute () |
| Этот метод должен вызываться перед началом фактического вычисления. Подробнее... |
|
| bool | deinitCompute () |
| Этот метод должен вызываться после завершения фактического вычисления. Подробнее... |
|
|
| |
| PointCloudConstPtr | input_ |
| Входные данные облака точек. Подробнее... |
|
| IndicesPtr | indices_ |
| Указатель на вектор индексов точек для использования. Подробнее... |
|
| bool | use_indices_ |
| Устанавливается в true, если используются индексы точек. Подробнее... |
|
| bool | fake_indices_ |
| Если набор индексов не задан, мы создаём набор фиктивных индексов, имитирующих входное облако точек. Подробнее... |
|
Подробное описание
шаблон<typename PointT>
класс pcl::SupervoxelClustering< PointT >
Реализует алгоритм супервокселей на основе структуры вокселей, нормалей и значений rgb.
- Примечание
- Супервоксели — это свёрнутые объёмные участки (обычно поверхности)
- Обычно цвет не нужен (и может быть вредным) — используется в основном пространственная структура
- J. Papon, A. Abramov, M. Schoeler, F. Woergoetter Разбиение по связности облака вокселей — Супервоксели из облаков точек В материалах конференции IEEE по компьютерному зрению и распознаванию образов (CVPR) 2013
Определение в строке 126 файла supervoxel_clustering.h.
Документация по перечню типов членов
EdgeID
| используя pcl::SupervoxelClustering< PointT >::EdgeID = VoxelAdjacencyList::edge_descriptor |
Определение в строке 188 файла supervoxel_clustering.h.
IndicesPtr
| using pcl::SupervoxelClustering< PointT >::IndicesPtr = pcl::IndicesPtr |
Определение в строке 180 файла supervoxel_clustering.h.
KdTreeT
| using pcl::SupervoxelClustering< PointT >::KdTreeT = pcl::search::KdTree<PointT> |
Определение в строке 179 файла supervoxel_clustering.h.
LeafContainerT
| using pcl::SupervoxelClustering< PointT >::LeafContainerT = pcl::octree::OctreePointCloudAdjacencyContainer<PointT, VoxelData> |
Определение в строке 172 файла supervoxel_clustering.h.
LeafVectorT
| using pcl::SupervoxelClustering< PointT >::LeafVectorT = std::vector<LeafContainerT *> |
Определение в строке 173 файла supervoxel_clustering.h.
NormalCloudT
| using pcl::SupervoxelClustering< PointT >::NormalCloudT = pcl::PointCloud<Normal> |
Определение в строке 176 файла supervoxel_clustering.h.
OctreeAdjacencyT
| using pcl::SupervoxelClustering< PointT >::OctreeAdjacencyT = pcl::octree::OctreePointCloudAdjacency<PointT, LeafContainerT> |
Определение в строке 177 файла supervoxel_clustering.h.
OctreeSearchT
| using pcl::SupervoxelClustering< PointT >::OctreeSearchT = pcl::octree::OctreePointCloudSearch<PointT> |
Определение в строке 178 файла supervoxel_clustering.h.
PointCloudT
| using pcl::SupervoxelClustering< PointT >::PointCloudT = pcl::PointCloud<PointT> |
Определение в строке 175 файла supervoxel_clustering.h.
VoxelAdjacencyList
| using pcl::SupervoxelClustering< PointT >::VoxelAdjacencyList = boost::adjacency_list<boost::setS, boost::setS, boost::undirectedS, std::uint32_t, float> |
Определение в строке 186 файла supervoxel_clustering.h.
VoxelID
| using pcl::SupervoxelClustering< PointT >::VoxelID = VoxelAdjacencyList::vertex_descriptor |
Определение в строке 187 файла supervoxel_clustering.h.
Конструктор и деструктор
SupervoxelClustering()
| pcl::SupervoxelClustering< PointT >::SupervoxelClustering | ( | float | voxel_resolution, |
| float | seed_resolution | ||
| ) |
Конструктор, который задаёт значения по умолчанию для переменных-членов.
- Параметры
-
[in] voxel_resolution Разрешение (в метрах) используемых объёмов [in] seed_resolution Средний размер (в метрах) полученных суперпикселей
Определение в строке 48 файла supervoxel_clustering.hpp.
~SupervoxelClustering()
| overridedefault |
Этот деструктор уничтожает облако точек, нормали и метод поиска, используемый для нахождения соседей.
Другими словами, он освобождает память.
Документация по членам-функциям
extract()
| virtual |
Этот метод запускает алгоритм сегментации и возвращает супервоксели, полученные во время сегментации.
- Параметры
-
[out] supervoxel_clusters Карта меток указателей на структуры супервокселей
Определение в строке 94 файла supervoxel_clustering.hpp.
getLabeledCloud()
| pcl::PointCloud< pcl::PointXYZL >::Ptr pcl::SupervoxelClustering< PointT >::getLabeledCloud |
Возвращает метки облака точек. Точки, относящиеся к одному супервокселю, имеют одинаковую метку.
Метки сегментов начинаются с 1, неустановленные точки имеют метку 0
Определение в строке 579 файла supervoxel_clustering.hpp.
getLabeledVoxelCloud()
| pcl::PointCloud< pcl::PointXYZL >::Ptr pcl::SupervoxelClustering< PointT >::getLabeledVoxelCloud |
Возвращает метки вокселизированного облака. Точки, относящиеся к одному супервокселю, имеют одинаковую метку.
Метки сегментов начинаются с 1, неустановленные точки имеют метку 0
Определение в строке 557 файла supervoxel_clustering.hpp.
getMaxLabel()
| int pcl::SupervoxelClustering< PointT >::getMaxLabel |
Возвращает текущую максимальную метку.
Определение в строке 680 файла supervoxel_clustering.hpp.
getSeedResolution()
| float pcl::SupervoxelClustering< PointT >::getSeedResolution |
Получить разрешение октального дерева для семян.
Определение в строке 636 файла supervoxel_clustering.hpp.
getSupervoxelAdjacency()
| void pcl::SupervoxelClustering< PointT >::getSupervoxelAdjacency | ( | std::multimap< std::uint32_t, std::uint32_t > & | label_adjacency | ) | const |
Получить многоотображения, которое определяет смежность супервокселей.
- Параметры
-
[out] label_adjacency Многоотображения, которое отображает метку супервокселя на все смежные метки супервокселей
Определение в строке 531 файла supervoxel_clustering.hpp.
getSupervoxelAdjacencyList()
| void pcl::SupervoxelClustering< PointT >::getSupervoxelAdjacencyList | ( | VoxelAdjacencyList & | adjacency_list_arg | ) | const |
Получить список смежности (библиотека Boost Graph) для связей между супервокселями.
- Параметры
-
[out] adjacency_list_arg Граф BGL, где метки супервокселей являются вершинами, а ребра — отношениями касания
Определение в строке 480 файла supervoxel_clustering.hpp.
getVoxelCentroidCloud()
| pcl::PointCloud< PointT >::Ptr pcl::SupervoxelClustering< PointT >::getVoxelCentroidCloud |
Возвращает глубокую копию облака центроидов вокселей.
Определение в строке 548 файла supervoxel_clustering.hpp.
getVoxelResolution()
| float pcl::SupervoxelClustering< PointT >::getVoxelResolution |
Получить разрешение объёмов октального дерева.
Определение в строке 621 файла supervoxel_clustering.hpp.
makeSupervoxelNormalCloud()
| static |
Статическая вспомогательная функция, возвращающая облако нормалей для входных супервокселей.
- Параметры
-
[in] supervoxel_clusters Карта кластеров Supervoxel, полученная из этого класса
- Возвращает
- Облако PointNormals супервокселей
Определение в строке 606 файла supervoxel_clustering.hpp.
Ссылки на pcl::PointCloud< PointT >::begin() и pcl::PointCloud< PointT >::resize().
refineSupervoxels()
| virtual |
Этот метод уточняет рассчитанные супервоксели - может быть вызван только после extract.
- Параметры
-
[in] num_itr Количество итераций уточнения (обычно достаточно 2 или 3) [out] supervoxel_clusters Результат уточнения супервокселей
Определение в строке 146 файла supervoxel_clustering.hpp.
setColorImportance()
| void pcl::SupervoxelClustering< PointT >::setColorImportance | ( | float | val | ) |
Установить важность цвета для супервокселей.
Определение в строке 651 файла supervoxel_clustering.hpp.
setInputCloud()
| override |
Этот метод устанавливает облако для супервоксельной сегментации.
- Параметры
-
[in] cloud Облако для супервоксельной сегментации
Определение в строке 67 файла supervoxel_clustering.hpp.
Ссылки на pcl::PointCloud< PointT >::empty().
setNormalCloud()
| virtual |
Этот метод устанавливает нормали, используемые для супервокселей (размер должен совпадать с размером входного облака).
- Параметры
-
[in] normal_cloud Входные нормали
Определение в строке 81 файла supervoxel_clustering.hpp.
setNormalImportance()
| void pcl::SupervoxelClustering< PointT >::setNormalImportance | ( | float | val | ) |
Установить важность скалярного произведения нормалей для супервокселей.
Определение в строке 665 файла supervoxel_clustering.hpp.
setSeedResolution()
| void pcl::SupervoxelClustering< PointT >::setSeedResolution | ( | float | seed_resolution | ) |
Установить разрешение семя-вокселей октального дерева.
Определение в строке 643 файла supervoxel_clustering.hpp.
setSpatialImportance()
| void pcl::SupervoxelClustering< PointT >::setSpatialImportance | ( | float | val | ) |
Установите важность пространственного расстояния для супервокселей.
Определение в строке 658 файла supervoxel_clustering.hpp.
setUseSingleCameraTransform()
| void pcl::SupervoxelClustering< PointT >::setUseSingleCameraTransform | ( | bool | val | ) |
Установить, использовать ли преобразование для одной камеры.
- Примечание
- По умолчанию он используется для организованных облаков, но не для неорганизованных — этот параметр переопределит это поведение. Преобразование для одной камеры масштабирует размер ячейки таким образом, что он экспоненциально увеличивается с глубиной (размер z). Это делается для учета уменьшения плотности точек с увеличением глубины при использовании RGB-D камеры. Без преобразования, за пределами определённой глубины, смежность вокселей нарушается, если размер вокселя не задан большим значением. Используя преобразование, сохраняется детализация вблизи, при этом сохраняется смежность на расстоянии. Используемое здесь конкретное преобразование: x /= z; y /= z; z = ln(z); Это преобразование применяется при вычислении ячеек октрее в OctreePointCloudAdjacency
Определение в строке 672 файла supervoxel_clustering.hpp.
setVoxelResolution()
| void pcl::SupervoxelClustering< PointT >::setVoxelResolution | ( | float | resolution | ) |
Установить разрешение вокселей октрее.
Определение в строке 628 файла supervoxel_clustering.hpp.
Документация для функций-друзей и родственных функций
boost::checked_delete
| friend |
SupervoxelHelper
| friend |
Определение в строке 130 файла supervoxel_clustering.h.
Документация для данного класса была сгенерирована из следующих файлов:
- pcl/segmentation/supervoxel_clustering.h
- pcl/segmentation/impl/supervoxel_clustering.hpp
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_supervoxel_clustering.html