Spec-Zone.ru › PointCloudLibrary

Простой алгоритм сегментации, разбивающий граф супервокселей на группы локально выпуклых связанных супервокселей, разделённых вогнутыми границами. Подробнее...

#include <pcl/segmentation/lccp_segmentation.h>

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

Общедоступные типы

using SupervoxelAdjacencyList = boost::adjacency_list< boost::setS, boost::setS, boost::undirectedS, std::uint32_t, EdgeProperties >
using VertexIterator = typename boost::graph_traits< SupervoxelAdjacencyList >::vertex_iterator
using AdjacencyIterator = typename boost::graph_traits< SupervoxelAdjacencyList >::adjacency_iterator
using VertexID = typename boost::graph_traits< SupervoxelAdjacencyList >::vertex_descriptor
using EdgeIterator = typename boost::graph_traits< SupervoxelAdjacencyList >::edge_iterator
using OutEdgeIterator = typename boost::graph_traits< SupervoxelAdjacencyList >::out_edge_iterator
using EdgeID = typename boost::graph_traits< SupervoxelAdjacencyList >::edge_descriptor

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

LCCPSegmentation ()
virtual ~LCCPSegmentation ()
void reset ()
Сбросить внутреннюю память. Подробнее...
void setInputSupervoxels (const std::map< std::uint32_t, typename pcl::Supervoxel< PointT >::Ptr > &supervoxel_clusters_arg, const std::multimap< std::uint32_t, std::uint32_t > &label_adjacency_arg)
Задать кластеры супервокселей и граф смежности для сегментации. Эти параметры создаются с помощью класса SupervoxelClustering. Подробнее...
void segment ()
Объединить супервоксели на основе локальной выпуклости. Подробнее...
void relabelCloud (pcl::PointCloud< pcl::PointXYZL > &labeled_cloud_arg)
Заменить метки супервокселей в облаке на вычисленные метки сегментов. Подробнее...
void getSegmentToSupervoxelMap (std::map< std::uint32_t, std::set< std::uint32_t > > &segment_supervoxel_map_arg) const
Получить map<SegmentID, std::set<SuperVoxel IDs> > Подробнее...
void getSupervoxelToSegmentMap (std::map< std::uint32_t, std::uint32_t > &supervoxel_segment_map_arg) const
Получить map<Supervoxel_ID, Segment_ID> Подробнее...
void getSegmentAdjacencyMap (std::map< std::uint32_t, std::set< std::uint32_t > > &segment_adjacency_map_arg)
Получить map <SegmentID, std::set<Neighboring SegmentIDs> > Подробнее...
float getConcavityToleranceThreshold () const
Получить пороговое значение для нормали. Подробнее...
void getSVAdjacencyList (SupervoxelAdjacencyList &adjacency_list_arg) const
Получить граф смежности супервокселей с классифицированными рёбрами (boost::adjacency_list). Подробнее...
void setConcavityToleranceThreshold (float concavity_tolerance_threshold_arg)
Задать пороговое значение для нормали. Подробнее...
void setSmoothnessCheck (bool use_smoothness_check_arg, float voxel_res_arg, float seed_res_arg, float smoothness_threshold_arg=0.1)
Определяет, выполняется ли при сегментации проверка гладкости, которая пытается пометить недействительными рёбра между негладко соединёнными участками (ступенями). Подробнее...
void setSanityCheck (const bool use_sanity_criterion_arg)
Определяет, следует ли использовать критерий корректности для признания недействительными отдельных связанных участков. Подробнее...
void setKFactor (const std::uint32_t k_factor_arg)
Задать значение, используемое для k-выпуклости. Подробнее...
void setMinSegmentSize (const std::uint32_t min_segment_size_arg)
Задать значение min_segment_size_, используемое в mergeSmallSegments. Подробнее...

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

void mergeSmallSegments ()
Сегменты размером меньше min_segment_size_ объединяются с меткой крупнейшего соседа. Подробнее...
void computeSegmentAdjacency ()
Вычислить смежность сегментов. Подробнее...
void prepareSegmentation (const std::map< std::uint32_t, typename pcl::Supervoxel< PointT >::Ptr > &supervoxel_clusters_arg, const std::multimap< std::uint32_t, std::uint32_t > &label_adjacency_arg)
Вызывается внутри setInputSupervoxels главным образом для резервирования необходимой памяти. Подробнее...
void doGrouping ()
Выполнить обход графа в глубину и рекурсивно сгруппировать все супервоксели, связанные выпуклыми соединениями. Подробнее...
void recursiveSegmentGrowing (const VertexID &queryPointID, const unsigned int group_label)
Назначает соседям запрашиваемой точки ту же группу, что и самой запрашиваемой точке. Подробнее...
void calculateConvexConnections (SupervoxelAdjacencyList &adjacency_list_arg)
Вычисляет выпуклость рёбер и сохраняет результат в граф смежности. Подробнее...
void applyKconvexity (const unsigned int k_arg)
Соединения считаются выпуклыми, только если это верно как минимум для k_arg общих соседей двух участков. Подробнее...
bool connIsConvex (const std::uint32_t source_label_arg, const std::uint32_t target_label_arg, float &normal_angle)
Возвращает true, если соединение между источником и целью является выпуклым. Подробнее...

Защищённые атрибуты

float concavity_tolerance_threshold_ {10}
*** Параметры *** /// Подробнее...
bool grouping_data_valid_ {false}
Указывает, доступны ли корректные данные группировки (sv_adjacency_list_, sv_label_to_seg_label_map_, processed_). Подробнее...
bool supervoxels_set_ {false}
Указывает, были ли заданы супервоксели вызовом setInputSupervoxels. Подробнее...
bool use_smoothness_check_ {false}
Определяет, используется ли проверка гладкости при сегментации. Подробнее...
float smoothness_threshold_ {0.1}
Два супервокселя считаются негладкими, если расстояние между их плоскостями DIST > (ожидаемое_расстояние + smoothness_threshold_*voxel_resolution_). Подробнее...
bool use_sanity_check_ {false}
Определяет, используется ли проверка корректности, которая пытается найти и признать недействительными изолированные связные участки. Подробнее...
float seed_resolution_ {0.0f}
Разрешение начальных точек супервокселей (используется только для проверки гладкости) Подробнее...
float voxel_resolution_ {0.0f}
Разрешение вокселей, используемое для построения супервокселей (используется только для проверки гладкости) Подробнее...
std::uint32_t k_factor_ {0}
Множитель, используемый для k-выпуклости. Подробнее...
std::uint32_t min_segment_size_ {0}
Минимальный размер сегмента. Подробнее...
std::map< std::uint32_t, bool > processed_
Хранит метки супервокселей, уже посещённых во время рекурсивной группировки. Подробнее...
SupervoxelAdjacencyList sv_adjacency_list_
Граф смежности, в котором узлами являются метки супервокселей, а рёбра соединяют соседние супервоксели. Подробнее...
std::map< std::uint32_t, typename pcl::Supervoxel< PointT >::Ptr > sv_label_to_supervoxel_map_
Отображение меток супервокселей на объекты супервокселей
Подробнее...
std::map< std::uint32_t, std::uint32_t > sv_label_to_seg_label_map_
Хранит соответствие между исходными метками супервокселей и новыми метками сегментации. Подробнее...
std::map< std::uint32_t, std::set< std::uint32_t > > seg_label_to_sv_list_map_
Отображение метки сегмента на набор меток супервокселей Подробнее...
std::map< std::uint32_t, std::set< std::uint32_t > > seg_label_to_neighbor_set_map_
Отображение < SegmentID, std::set< меток соседних сегментов> > Подробнее...

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

template<typename PointT>
class pcl::LCCPSegmentation< PointT >

Простой алгоритм сегментации, разбивающий граф супервокселей на группы локально выпуклых связных супервокселей, разделённые вогнутыми границами.

Примечание
Если вы используете этот алгоритм в научной работе, пожалуйста, укажите следующую публикацию: S. C. Stein, M. Schoeler, J. Papon, F. Woergoetter Объект Partitioning using Local Convexity In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR) 2014
Автор
Simon Christoph Stein и Markus Schoeler (mscho.nosp@m.eler.nosp@m.@gwdg.nosp@m..de)

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

Документация псевдонимов типов-членов

AdjacencyIterator

template<typename PointT >
using pcl::LCCPSegmentation< PointT >::AdjacencyIterator = typename boost::graph_traits<SupervoxelAdjacencyList>::adjacency_iterator

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

EdgeID

template<typename PointT >
using pcl::LCCPSegmentation< PointT >::EdgeID = typename boost::graph_traits<SupervoxelAdjacencyList>::edge_descriptor

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

EdgeIterator

template<typename PointT >
using pcl::LCCPSegmentation< PointT >::EdgeIterator = typename boost::graph_traits<SupervoxelAdjacencyList>::edge_iterator

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

OutEdgeIterator

template<typename PointT >
using pcl::LCCPSegmentation< PointT >::OutEdgeIterator = typename boost::graph_traits<SupervoxelAdjacencyList>::out_edge_iterator

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

SupervoxelAdjacencyList

template<typename PointT >
using pcl::LCCPSegmentation< PointT >::SupervoxelAdjacencyList = boost::adjacency_list<boost::setS, boost::setS, boost::undirectedS, std::uint32_t, EdgeProperties>

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

VertexID

template<typename PointT >
using pcl::LCCPSegmentation< PointT >::VertexID = typename boost::graph_traits<SupervoxelAdjacencyList>::vertex_descriptor

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

VertexIterator

template<typename PointT >
using pcl::LCCPSegmentation< PointT >::VertexIterator = typename boost::graph_traits<SupervoxelAdjacencyList>::vertex_iterator

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

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

LCCPSegmentation()

template<typename PointT >
pcl::LCCPSegmentation< PointT >::LCCPSegmentation ( )
по умолчанию

~LCCPSegmentation()

template<typename PointT >
pcl::LCCPSegmentation< PointT >::~LCCPSegmentation ( )
виртуальныйпо умолчанию

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

applyKconvexity()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::applyKconvexity ( const unsigned int k_arg )
защищённый

Связи считаются выпуклыми, только если это верно как минимум для k_arg общих соседей двух участков.

Чтобы использовать эту функцию, вызовите setKFactor перед вызовом segment.

Параметры
[in] k_arg Множитель, используемый для расширенной проверки выпуклости

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

calculateConvexConnections()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::calculateConvexConnections ( SupervoxelAdjacencyList & adjacency_list_arg )
защищённый

Вычисляет выпуклость рёбер и сохраняет её в графе смежности.

Параметры
[in,out] adjacency_list_arg Список смежности супервокселей

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

computeSegmentAdjacency()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::computeSegmentAdjacency
защищённый

Вычисляет смежность сегментов.

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

Используется в pcl::LCCPSegmentation< PointT >::getSegmentAdjacencyMap().

connIsConvex()

template<typename PointT >
bool pcl::LCCPSegmentation< PointT >::connIsConvex ( const std::uint32_t source_label_arg,
const std::uint32_t target_label_arg,
float & normal_angle
)
защищённый

Возвращает true, если связь между source и target является выпуклой.

Параметры
[in] source_label_arg Метка одного из супервокселей, связанных с проверяемым ребром
[in] target_label_arg Метка другого супервокселя, связанного с проверяемым ребром
[out] normal_angle Угол между source и target
Возвращает
True, если связь выпуклая

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

Ссылки: pcl::Supervoxel< PointT >::centroid_, pcl::getAngle3D() и pcl::Supervoxel< PointT >::normal_.

doGrouping()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::doGrouping
защищённый

Выполняет поиск в глубину по графу и рекурсивно объединяет все супервоксели, соединённые выпуклыми связями.

Примечание
Вершинами списка смежности супервокселей являются центроиды супервокселей

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

getConcavityToleranceThreshold()

template<typename PointT >
float pcl::LCCPSegmentation< PointT >::getConcavityToleranceThreshold ( ) const
встроенный

Возвращает пороговое значение для нормали.

Возвращает
Текущее установленное угловое значение допуска вогнутости в [градусах]

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

Ссылка на pcl::LCCPSegmentation< PointT >::concavity_tolerance_threshold_.

getSegmentAdjacencyMap()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::getSegmentAdjacencyMap ( std::map< std::uint32_t, std::set< std::uint32_t > > & segment_adjacency_map_arg )
inline

Получить карту <SegmentID, std::set<Neighboring SegmentIDs> >

Параметры
[out] segment_adjacency_map_arg Карта < SegmentID, std::set< Neighboring SegmentIDs> >. В случае ошибки карта пуста.

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

Ссылки: pcl::LCCPSegmentation< PointT >::computeSegmentAdjacency(), pcl::LCCPSegmentation< PointT >::grouping_data_valid_ и pcl::LCCPSegmentation< PointT >::seg_label_to_neighbor_set_map_.

getSegmentToSupervoxelMap()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::getSegmentToSupervoxelMap ( std::map< std::uint32_t, std::set< std::uint32_t > > & segment_supervoxel_map_arg ) const
inline

Получить карту<SegmentID, std::set<SuperVoxel IDs> >

Параметры
[out] segment_supervoxel_map_arg Выходной контейнер. В случае ошибки карта пуста.

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

Ссылки: pcl::LCCPSegmentation< PointT >::grouping_data_valid_ и pcl::LCCPSegmentation< PointT >::seg_label_to_sv_list_map_.

getSupervoxelToSegmentMap()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::getSupervoxelToSegmentMap ( std::map< std::uint32_t, std::uint32_t > & supervoxel_segment_map_arg ) const
inline

Получить карту<Supervoxel_ID, Segment_ID>

Параметры
[out] supervoxel_segment_map_arg Выходной контейнер. В случае ошибки карта пуста.

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

Ссылки: pcl::LCCPSegmentation< PointT >::grouping_data_valid_ и pcl::LCCPSegmentation< PointT >::sv_label_to_seg_label_map_.

getSVAdjacencyList()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::getSVAdjacencyList ( SupervoxelAdjacencyList & adjacency_list_arg ) const
inline

Получить граф смежности супервокселей с классифицированными рёбрами (boost::adjacency_list).

Параметры
[out] adjacency_list_arg Список смежности супервокселей с классифицированными (выпуклыми/вогнутыми) рёбрами. В случае ошибки список пуст.

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

Ссылки: pcl::LCCPSegmentation< PointT >::grouping_data_valid_ и pcl::LCCPSegmentation< PointT >::sv_adjacency_list_.

mergeSmallSegments()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::mergeSmallSegments
protected

Сегменты размером меньше min_segment_size_ объединяются с меткой самого большого соседнего сегмента.

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

prepareSegmentation()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::prepareSegmentation ( const std::map< std::uint32_t, typename pcl::Supervoxel< PointT >::Ptr > & supervoxel_clusters_arg,
const std::multimap< std::uint32_t, std::uint32_t > & label_adjacency_arg
)
protected

Вызывается главным образом внутри setInputSupervoxels для резервирования необходимой памяти.

Параметры
[in] supervoxel_clusters_arg Карта < метки супервокселей, супервоксели >
[in] label_adjacency_arg Граф, задающий отношения смежности супервокселей

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

Используется в: pcl::LCCPSegmentation< PointT >::setInputSupervoxels().

recursiveSegmentGrowing()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::recursiveSegmentGrowing ( const VertexID & queryPointID,
const unsigned int group_label
)
protected

Назначает соседям точки запроса ту же группу, что и самой точке запроса.

Рекурсивная часть doGrouping. Группировка выполняется обходом узлов графа смежности в глубину.

Параметры
[in] queryPointID Идентификатор точки, соседи которой будут рассматриваться для группировки
[in] group_label Идентификатор группы/сегмента, которому принадлежит запрашиваемая точка

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

relabelCloud()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::relabelCloud ( pcl::PointCloud< pcl::PointXYZL > & labeled_cloud_arg )

Заменяет метки супервокселей в облаке на вычисленные метки сегментов.

Объект labeled_cloud_arg следует создать с помощью SupervoxelClustering::getLabeledCloud.

Параметры
[in,out] labeled_cloud_arg Облако, которому нужно назначить новые метки

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

reset()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::reset

Сбросить внутреннюю память.


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

segment()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::segment

Объединяет супервоксели на основе локальной выпуклости.

Входные параметры формируются с помощью класса SupervoxelClustering. Чтобы получить результат, используйте метод relabelCloud.

Примечание
После этого сегментацию можно получить тремя способами: relabelCloud, getSegmentToSupervoxelMap и getSupervoxelToSegmentMap.

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

setConcavityToleranceThreshold()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::setConcavityToleranceThreshold ( float concavity_tolerance_threshold_arg )
inline

Задать порог для нормалей.

Параметры
[in] concavity_tolerance_threshold_arg Задаваемый угол допуска вогнутости в [градусах]

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

Ссылки: pcl::LCCPSegmentation< PointT >::concavity_tolerance_threshold_.

setInputSupervoxels()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::setInputSupervoxels ( const std::map< std::uint32_t, typename pcl::Supervoxel< PointT >::Ptr > & supervoxel_clusters_arg,
const std::multimap< std::uint32_t, std::uint32_t > & label_adjacency_arg
)
inline

Задать кластеры супервокселей и граф смежности для сегментации. Эти параметры формируются с помощью класса SupervoxelClustering.

Чтобы получить результат, используйте метод segment.

Параметры
[in] supervoxel_clusters_arg Карта < метки супервокселей, супервоксели >
[in] label_adjacency_arg Граф, задающий отношения смежности супервокселей
Примечание
Неявно вызывает reset

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

Ссылки: pcl::LCCPSegmentation< PointT >::prepareSegmentation() и pcl::LCCPSegmentation< PointT >::supervoxels_set_.

setKFactor()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::setKFactor ( const std::uint32_t k_factor_arg )
inline

Задать значение, используемое для проверки выпуклости по k.

При k>0 выпуклая связь между p_i и p_j требует наличия k общих соседей этих патчей, каждый из которых имеет выпуклую связь с обоими патчами.

Параметры
[in] k_factor_arg Коэффициент для расширенной проверки выпуклости

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

Ссылки: pcl::LCCPSegmentation< PointT >::k_factor_.

setMinSegmentSize()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::setMinSegmentSize ( const std::uint32_t min_segment_size_arg )
inline

Задать значение min_segment_size_, используемое в mergeSmallSegments.

Параметры
[in] min_segment_size_arg Сегменты меньшего размера будут объединены

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

Ссылки: pcl::LCCPSegmentation< PointT >::min_segment_size_.

setSanityCheck()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::setSanityCheck ( const bool use_sanity_criterion_arg )
inline

Определяет, следует ли использовать критерий корректности для исключения единичных связанных патчей.

Параметры
[in] use_sanity_criterion_arg Определяет, выполняется ли проверка корректности

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

Ссылки: pcl::LCCPSegmentation< PointT >::use_sanity_check_.

setSmoothnessCheck()

template<typename PointT >
void pcl::LCCPSegmentation< PointT >::setSmoothnessCheck ( bool use_smoothness_check_arg,
float voxel_res_arg,
float seed_res_arg,
float smoothness_threshold_arg = 0.1
)
inline

Определяет, выполняется ли при сегментации проверка гладкости, призванная исключать рёбра между негладко соединёнными участками (ступеньками).

Два супервокселя считаются негладкими, если расстояние между их плоскостями DIST > (ожидаемое расстояние + smoothness_threshold_*voxel_resolution_). Для параллельных супервокселей ожидаемое расстояние равно нулю.

Параметры
[in] use_smoothness_check_arg Определяет, используется ли проверка гладкости
[in] voxel_res_arg Разрешение вокселей, используемое для сегментируемых супервокселей
[in] seed_res_arg Разрешение начальных точек, используемое для сегментируемых супервокселей
[in] smoothness_threshold_arg Порог (коэффициент допуска) ограничения гладкости согласно приведённой выше формуле.

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

Ссылки: pcl::LCCPSegmentation< PointT >::seed_resolution_, pcl::LCCPSegmentation< PointT >::smoothness_threshold_, pcl::LCCPSegmentation< PointT >::use_smoothness_check_ и pcl::LCCPSegmentation< PointT >::voxel_resolution_.

Описание данных-членов

concavity_tolerance_threshold_

template<typename PointT >
float pcl::LCCPSegmentation< PointT >::concavity_tolerance_threshold_ {10}
protected

*** Параметры *** ///

Порог для нормали в градусах [0,180], используемый при объединении

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

Используется в: pcl::LCCPSegmentation< PointT >::getConcavityToleranceThreshold() и pcl::LCCPSegmentation< PointT >::setConcavityToleranceThreshold().

grouping_data_valid_

template<typename PointT >
bool pcl::LCCPSegmentation< PointT >::grouping_data_valid_ {false}
protected

Указывает, доступны ли корректные данные группировки (sv_adjacency_list_, sv_label_to_seg_label_map_, processed_).

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

Используется в pcl::LCCPSegmentation< PointT >::getSegmentAdjacencyMap(), pcl::LCCPSegmentation< PointT >::getSegmentToSupervoxelMap(), pcl::LCCPSegmentation< PointT >::getSupervoxelToSegmentMap() и pcl::LCCPSegmentation< PointT >::getSVAdjacencyList().

k_factor_

template<typename PointT >
std::uint32_t pcl::LCCPSegmentation< PointT >::k_factor_ {0}
protected

Фактор, используемый для k-выпуклости.

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

Используется в pcl::LCCPSegmentation< PointT >::setKFactor().

min_segment_size_

template<typename PointT >
std::uint32_t pcl::LCCPSegmentation< PointT >::min_segment_size_ {0}
protected

Минимальный размер сегмента.

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

Используется в pcl::LCCPSegmentation< PointT >::setMinSegmentSize().

processed_

template<typename PointT >
std::map<std::uint32_t, bool> pcl::LCCPSegmentation< PointT >::processed_
protected

Хранит информацию о том, какие метки супервокселей уже были посещены во время рекурсивной группировки.

Примечание
processed_[sv_Label] = false (по умолчанию)/true (уже обработано)

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

seed_resolution_

template<typename PointT >
float pcl::LCCPSegmentation< PointT >::seed_resolution_ {0.0f}
protected

Разрешение семян супервокселей (используется только для проверки гладкости)

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

Используется в pcl::LCCPSegmentation< PointT >::setSmoothnessCheck().

seg_label_to_neighbor_set_map_

template<typename PointT >
std::map<std::uint32_t, std::set<std::uint32_t> > pcl::LCCPSegmentation< PointT >::seg_label_to_neighbor_set_map_
protected

отображение < SegmentID, std::set< меток соседних сегментов> >

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

Используется в pcl::LCCPSegmentation< PointT >::getSegmentAdjacencyMap().

seg_label_to_sv_list_map_

template<typename PointT >
std::map<std::uint32_t, std::set<std::uint32_t> > pcl::LCCPSegmentation< PointT >::seg_label_to_sv_list_map_
protected

отображение меток сегментов в набор меток меток супервокселей

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

Используется в pcl::LCCPSegmentation< PointT >::getSegmentToSupervoxelMap().

smoothness_threshold_

template<typename PointT >
float pcl::LCCPSegmentation< PointT >::smoothness_threshold_ {0.1}
protected

Два супервокселя считаются негладкими, если расстояние между их плоскостями DIST > (ожидаемое расстояние + smoothness_threshold_*voxel_resolution_).

Для параллельных супервокселей ожидаемое расстояние равно нулю.

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

Используется в pcl::LCCPSegmentation< PointT >::setSmoothnessCheck().

supervoxels_set_

template<typename PointT >
bool pcl::LCCPSegmentation< PointT >::supervoxels_set_ {false}
protected

Указывает, были ли заданы супервоксели вызовом setInputSupervoxels.

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

Используется в pcl::LCCPSegmentation< PointT >::setInputSupervoxels().

sv_adjacency_list_

template<typename PointT >
SupervoxelAdjacencyList pcl::LCCPSegmentation< PointT >::sv_adjacency_list_
protected

Граф смежности, в котором узлами являются метки супервокселей, а рёбра соединяют соседние супервоксели.

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

Используется в pcl::LCCPSegmentation< PointT >::getSVAdjacencyList().

sv_label_to_seg_label_map_

template<typename PointT >
std::map<std::uint32_t, std::uint32_t> pcl::LCCPSegmentation< PointT >::sv_label_to_seg_label_map_
protected

Хранит соответствие между исходными метками супервокселей и новыми метками сегментации.

Примечание
sv_label_to_seg_label_map_[old_labelID] = new_labelID

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

Используется в pcl::LCCPSegmentation< PointT >::getSupervoxelToSegmentMap().

sv_label_to_supervoxel_map_

template<typename PointT >
std::map<std::uint32_t, typename pcl::Supervoxel<PointT>::Ptr> pcl::LCCPSegmentation< PointT >::sv_label_to_supervoxel_map_
protected

отображение меток супервокселей на объекты супервокселей

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

use_sanity_check_

template<typename PointT >
bool pcl::LCCPSegmentation< PointT >::use_sanity_check_ {false}
protected

Определяет, используется ли проверка корректности, которая пытается обнаружить и исключить отдельные связные участки.

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

Используется в pcl::LCCPSegmentation< PointT >::setSanityCheck().

use_smoothness_check_

template<typename PointT >
bool pcl::LCCPSegmentation< PointT >::use_smoothness_check_ {false}
protected

Определяет, используется ли проверка гладкости при сегментации.

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

Используется в pcl::LCCPSegmentation< PointT >::setSmoothnessCheck().

voxel_resolution_

template<typename PointT >
float pcl::LCCPSegmentation< PointT >::voxel_resolution_ {0.0f}
protected

Разрешение вокселей, использованное для построения супервокселей (используется только для проверки гладкости)

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

Используется в pcl::LCCPSegmentation< PointT >::setSmoothnessCheck().


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

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

Spec-Zone.ru

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