Spec-Zone.ru › PointCloudLibrary

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

#include <pcl/segmentation/region_growing.h>

Inheritance graph
[условные обозначения]
Collaboration graph
[условные обозначения]

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

using KdTree = pcl::search::Search< PointT >
using KdTreePtr = typename KdTree::Ptr
using Normal = pcl::PointCloud< NormalT >
using NormalPtr = typename Normal::Ptr
using PointCloud = pcl::PointCloud< PointT >
- Общедоступные типы, унаследованные от pcl::PCLBase< PointT >
using PointCloud = pcl::PointCloud< PointT >
using PointCloudPtr = typename PointCloud::Ptr
using PointCloudConstPtr = typename PointCloud::ConstPtr
using PointIndicesPtr = PointIndices::Ptr
using PointIndicesConstPtr = PointIndices::ConstPtr

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

RegionGrowing ()
Конструктор, задающий значения по умолчанию для переменных-членов. Подробнее...
~RegionGrowing () override
Этот деструктор уничтожает облако, нормали и метод поиска, используемый для нахождения KNN. Подробнее...
pcl::uindex_t getMinClusterSize ()
Возвращает минимальное количество точек, которое должен содержать кластер, чтобы считаться допустимым. Подробнее...
void setMinClusterSize (pcl::uindex_t min_cluster_size)
Задает минимальное количество точек, которое должен содержать кластер, чтобы считаться допустимым. Подробнее...
pcl::uindex_t getMaxClusterSize ()
Возвращает максимальное количество точек, которое должен содержать кластер, чтобы считаться допустимым. Подробнее...
void setMaxClusterSize (pcl::uindex_t max_cluster_size)
Задает максимальное количество точек, которое должен содержать кластер, чтобы считаться допустимым. Подробнее...
bool getSmoothModeFlag () const
Возвращает значение флага. Подробнее...
void setSmoothModeFlag (bool value)
Эта функция позволяет включать и отключать ограничение гладкости. Подробнее...
bool getCurvatureTestFlag () const
Возвращает флаг, указывающий, включена или отключена проверка кривизны. Подробнее...
virtual void setCurvatureTestFlag (bool value)
Позволяет включать и отключать проверку кривизны. Подробнее...
bool getResidualTestFlag () const
Возвращает флаг, указывающий, включена или отключена проверка остатка. Подробнее...
virtual void setResidualTestFlag (bool value)
Позволяет включать и отключать проверку остатка. Подробнее...
float getSmoothnessThreshold () const
Возвращает порог гладкости. Подробнее...
void setSmoothnessThreshold (float theta)
Позволяет задать порог гладкости, используемый при проверке точек. Подробнее...
float getResidualThreshold () const
Возвращает порог остатка. Подробнее...
void setResidualThreshold (float residual)
Позволяет задать порог остатка, используемый при проверке точек. Подробнее...
float getCurvatureThreshold () const
Возвращает порог кривизны. Подробнее...
void setCurvatureThreshold (float curvature)
Позволяет задать порог кривизны, используемый при проверке точек. Подробнее...
unsigned int getNumberOfNeighbours () const
Возвращает количество ближайших соседей, используемых для KNN. Подробнее...
void setNumberOfNeighbours (unsigned int neighbour_number)
Позволяет задать количество соседей. Подробнее...
KdTreePtr getSearchMethod () const
Возвращает указатель на метод поиска, используемый для KNN. Подробнее...
void setSearchMethod (const KdTreePtr &tree)
Позволяет задать метод поиска, который будет использоваться для нахождения KNN. Подробнее...
NormalPtr getInputNormals () const
Возвращает нормали. Подробнее...
void setInputNormals (const NormalPtr &norm)
Этот метод задает нормали. Подробнее...
virtual void extract (std::vector< pcl::PointIndices > &clusters)
Этот метод запускает алгоритм сегментации и возвращает кластеры, полученные в ходе сегментации. Подробнее...
virtual void getSegmentFromPoint (pcl::index_t index, pcl::PointIndices &cluster)
Для заданной точки эта функция строит сегмент, которому она принадлежит, и возвращает его. Подробнее...
pcl::PointCloud< pcl::PointXYZRGB >::Ptr getColoredCloud ()
Если сегментация облака выполнена успешно, функция возвращает раскрашенное облако. Подробнее...
pcl::PointCloud< pcl::PointXYZRGBA >::Ptr getColoredCloudRGBA ()
Если сегментация облака выполнена успешно, функция возвращает раскрашенное облако. Подробнее...
- Общедоступные функции-члены, унаследованные от pcl::PCLBase< PointT >
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 для сокращения кода. Подробнее...

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

virtual bool prepareForSegmentation ()
Этот метод проверяет, можно ли выполнить алгоритм сегментации с текущими настройками. Подробнее...
virtual void findPointNeighbours ()
Этот метод находит KNN для каждой точки и сохраняет их в массиве, поскольку алгоритму необходимо несколько раз находить KNN. Подробнее...
void applySmoothRegionGrowingAlgorithm ()
Эта функция реализует алгоритм, описанный в статье «Сегментация облаков точек с использованием ограничения гладкости» Т. Подробнее...
int growRegion (int initial_seed, int segment_number)
Этот метод наращивает сегмент, начиная с заданной точки-затравки. Подробнее...
virtual bool validatePoint (pcl::index_t initial_seed, pcl::index_t point, pcl::index_t nghbr, bool &is_a_seed) const
Эта функция проверяет, принадлежит ли сегменту точка с индексом 'nghbr'. Подробнее...
void assembleRegions ()
Эта функция собирает области из списка меток точек. Подробнее...
- Защищённые функции-члены, унаследованные от pcl::PCLBase< PointT >
bool initCompute ()
Этот метод следует вызывать перед началом фактических вычислений. Подробнее...
bool deinitCompute ()
Этот метод следует вызывать после завершения фактических вычислений. Подробнее...

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

pcl::uindex_t min_pts_per_cluster_ {1}
Хранит минимальное количество точек, которое должен содержать кластер, чтобы считаться допустимым. Подробнее...
pcl::uindex_t max_pts_per_cluster_ {std::numeric_limits<pcl::uindex_t>::max()}
Хранит максимальное количество точек, которое должен содержать кластер, чтобы считаться допустимым. Подробнее...
bool smooth_mode_flag_ {true}
Флаг, указывающий, будет ли использоваться ограничение гладкости. Подробнее...
bool curvature_flag_ {true}
Если установлено значение true, при сегментации будет выполняться проверка кривизны. Подробнее...
bool residual_flag_ {false}
Если установлено значение true, при сегментации будет выполняться проверка остатка. Подробнее...
float theta_threshold_ {30.0f / 180.0f * static_cast<float>(M_PI)}
Пороговое значение для проверки гладкости между точками. Подробнее...
float residual_threshold_ {0.05f}
Пороговое значение, используемое при проверке остатка. Подробнее...
float curvature_threshold_ {0.05f}
Пороговое значение, используемое при проверке кривизны. Подробнее...
unsigned int neighbour_number_ {30}
Количество соседей, которых нужно найти. Подробнее...
KdTreePtr search_ {nullptr}
Метод поиска, используемый для KNN. Подробнее...
NormalPtr normals_ {nullptr}
Содержит нормали точек, которые будут сегментированы. Подробнее...
std::vector< pcl::Indices > point_neighbours_ {}
Содержит соседей каждой точки. Подробнее...
std::vector< int > point_labels_ {}
Метки точек, указывающие, к какому сегменту принадлежит каждая точка. Подробнее...
bool normal_flag_ {true}
Если установлено значение true, при сегментации будет выполняться проверка нормалей/гладкости. Подробнее...
std::vector< pcl::uindex_t > num_pts_in_segment_ {}
Показывает, сколько точек содержит каждый сегмент. Подробнее...
std::vector< pcl::PointIndices > clusters_ {}
После сегментации будет содержать сегменты. Подробнее...
int number_of_segments_ {0}
Хранит количество сегментов. Подробнее...
- Защищённые атрибуты, унаследованные от pcl::PCLBase< PointT >
PointCloudConstPtr input_
Входной набор данных облака точек. Подробнее...
IndicesPtr indices_
Указатель на вектор индексов точек, которые нужно использовать. Подробнее...
bool use_indices_
Установите значение true, если используются индексы точек. Подробнее...
bool fake_indices_
Если набор индексов не задан, создаётся набор фиктивных индексов, соответствующий входному облаку точек. Подробнее...

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

template<typename PointT, typename NormalT>
class pcl::RegionGrowing< PointT, NormalT >

Реализует широко известный алгоритм наращивания областей, используемый для сегментации.

Описание приведено в статье «Сегментация облаков точек с использованием ограничения гладкости» Т. Раббани, Ф. А. ван ден Хёвела и Г. Фоссельмана. В дополнение к проверке остатка добавлена возможность проверки кривизны.

Определение находится в строке 60 файла region_growing.h.

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

KdTree

template<typename PointT , typename NormalT >
using pcl::RegionGrowing< PointT, NormalT >::KdTree = pcl::search::Search<PointT>

Определение находится в строке 64 файла region_growing.h.

KdTreePtr

template<typename PointT , typename NormalT >
using pcl::RegionGrowing< PointT, NormalT >::KdTreePtr = typename KdTree::Ptr

Определение находится в строке 65 файла region_growing.h.

Normal

template<typename PointT , typename NormalT >
using pcl::RegionGrowing< PointT, NormalT >::Normal = pcl::PointCloud<NormalT>

Определение находится в строке 66 файла region_growing.h.

NormalPtr

template<typename PointT , typename NormalT >
using pcl::RegionGrowing< PointT, NormalT >::NormalPtr = typename Normal::Ptr

Определение находится в строке 67 файла region_growing.h.

PointCloud

template<typename PointT , typename NormalT >
using pcl::RegionGrowing< PointT, NormalT >::PointCloud = pcl::PointCloud<PointT>

Определение находится в строке 68 файла region_growing.h.

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

RegionGrowing()

template<typename PointT , typename NormalT >
pcl::RegionGrowing< PointT, NormalT >::RegionGrowing ( )
default

Конструктор задаёт значения по умолчанию для переменных-членов.

~RegionGrowing()

template<typename PointT , typename NormalT >
pcl::RegionGrowing< PointT, NormalT >::~RegionGrowing
override

Этот деструктор удаляет облако, нормали и метод поиска, используемый для нахождения KNN.

Другими словами, он освобождает память.

Определение находится в строке 61 файла region_growing.hpp.

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

applySmoothRegionGrowingAlgorithm()

template<typename PointT , typename NormalT >
void pcl::RegionGrowing< PointT, NormalT >::applySmoothRegionGrowingAlgorithm
protected

Эта функция реализует алгоритм, описанный в статье «Сегментация облаков точек с использованием ограничения гладкости» Т.

Раббани, Ф. А. ван ден Хёвела и Г. Фоссельмана.

Определение находится в строке 354 файла region_growing.hpp.

Ссылки: pcl::comparePair().

assembleRegions()

template<typename PointT , typename NormalT >
void pcl::RegionGrowing< PointT, NormalT >::assembleRegions
protected

Эта функция просто собирает области из списка меток точек.

Каждый кластер представляет собой массив индексов точек.

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

Ссылки: pcl::PointIndices::indices.

Используется в: pcl::RegionGrowingRGB< PointT, NormalT >::extract() и pcl::RegionGrowingRGB< PointT, NormalT >::getSegmentFromPoint().

extract()

template<typename PointT , typename NormalT >
void pcl::RegionGrowing< PointT, NormalT >::extract ( std::vector< pcl::PointIndices > & clusters )
virtual

Этот метод запускает алгоритм сегментации и возвращает кластеры, полученные в ходе сегментации.

Параметры
[out] clusters полученные кластеры. Каждый кластер представляет собой массив индексов точек.

Переопределено в pcl::RegionGrowingRGB< PointT, NormalT >.

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

findPointNeighbours()

template<typename PointT , typename NormalT >
void pcl::RegionGrowing< PointT, NormalT >::findPointNeighbours
protectedvirtual

Этот метод находит KNN для каждой точки и сохраняет их в массиве, поскольку алгоритму необходимо несколько раз находить KNN.

Переопределено в pcl::RegionGrowingRGB< PointT, NormalT >.

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

Ссылки: pcl::isFinite().

getColoredCloud()

template<typename PointT , typename NormalT >
pcl::PointCloud< pcl::PointXYZRGB >::Ptr pcl::RegionGrowing< PointT, NormalT >::getColoredCloud

Если облако было успешно сегментировано, функция возвращает раскрашенное облако.

В противном случае она возвращает пустой указатель. Точки, принадлежащие одному сегменту, имеют одинаковый цвет. Однако эта функция не гарантирует, что разные сегменты будут иметь разные цвета (это зависит от RNG). Точки, отсутствующие в массиве индексов, будут окрашены в красный цвет.

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

Ссылки: pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::points и pcl::PointCloud< PointT >::width.

getColoredCloudRGBA()

template<typename PointT , typename NormalT >
pcl::PointCloud< pcl::PointXYZRGBA >::Ptr pcl::RegionGrowing< PointT, NormalT >::getColoredCloudRGBA

Если облако было успешно сегментировано, функция возвращает раскрашенное облако.

В противном случае она возвращает пустой указатель. Точки, принадлежащие одному сегменту, имеют одинаковый цвет. Однако эта функция не гарантирует, что разные сегменты будут иметь разные цвета (это зависит от RNG). Точки, отсутствующие в массиве индексов, будут окрашены в красный цвет.

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

Ссылки: pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::points и pcl::PointCloud< PointT >::width.

getCurvatureTestFlag()

template<typename PointT , typename NormalT >
bool pcl::RegionGrowing< PointT, NormalT >::getCurvatureTestFlag

Возвращает флаг, указывающий, включена или выключена проверка кривизны.

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

getCurvatureThreshold()

template<typename PointT , typename NormalT >
float pcl::RegionGrowing< PointT, NormalT >::getCurvatureThreshold

Возвращает пороговое значение кривизны.

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

getInputNormals()

template<typename PointT , typename NormalT >
pcl::RegionGrowing< PointT, NormalT >::NormalPtr pcl::RegionGrowing< PointT, NormalT >::getInputNormals

Возвращает нормали.

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

getMaxClusterSize()

template<typename PointT , typename NormalT >
pcl::uindex_t pcl::RegionGrowing< PointT, NormalT >::getMaxClusterSize

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

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

getMinClusterSize()

template<typename PointT , typename NormalT >
pcl::uindex_t pcl::RegionGrowing< PointT, NormalT >::getMinClusterSize

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

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

getNumberOfNeighbours()

template<typename PointT , typename NormalT >
unsigned int pcl::RegionGrowing< PointT, NormalT >::getNumberOfNeighbours

Возвращает количество ближайших соседей, используемых для KNN.

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

getResidualTestFlag()

template<typename PointT , typename NormalT >
bool pcl::RegionGrowing< PointT, NormalT >::getResidualTestFlag

Возвращает флаг, указывающий, включена или выключена проверка остатка.

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

getResidualThreshold()

template<typename PointT , typename NormalT >
float pcl::RegionGrowing< PointT, NormalT >::getResidualThreshold

Возвращает пороговое значение остатка.

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

getSearchMethod()

template<typename PointT , typename NormalT >
pcl::RegionGrowing< PointT, NormalT >::KdTreePtr pcl::RegionGrowing< PointT, NormalT >::getSearchMethod

Возвращает указатель на метод поиска, используемый для KNN.

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

getSegmentFromPoint()

template<typename PointT , typename NormalT >
void pcl::RegionGrowing< PointT, NormalT >::getSegmentFromPoint ( pcl::index_t index,
pcl::PointIndices & cluster
)
virtual

Для заданной точки эта функция строит сегмент, которому она принадлежит, и возвращает его.

Параметры
[in] index индекс исходной точки, которая будет начальной точкой для выращивания сегмента.
[out] cluster кластер, которому принадлежит точка.

Переопределено в pcl::RegionGrowingRGB< PointT, NormalT >.

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

Ссылки: pcl::PointIndices::indices.

getSmoothModeFlag()

template<typename PointT , typename NormalT >
bool pcl::RegionGrowing< PointT, NormalT >::getSmoothModeFlag

Возвращает значение флага.

Этот флаг определяет, какой режим алгоритма будет использоваться. Если значение равно true, алгоритм будет работать так, как описано в статье. Это означает, что будет проверяться угол между нормалью текущей точки и нормалями её соседей. В противном случае будет проверяться угол между нормалью текущей точки и нормалью исходной точки, выбранной для выращивания нового сегмента.

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

getSmoothnessThreshold()

template<typename PointT , typename NormalT >
float pcl::RegionGrowing< PointT, NormalT >::getSmoothnessThreshold

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

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

growRegion()

template<typename PointT , typename NormalT >
int pcl::RegionGrowing< PointT, NormalT >::growRegion ( int initial_seed,
int segment_number
)
protected

Этот метод выращивает сегмент от заданной начальной точки.

И возвращает количество точек в нём.

Параметры
[in] initial_seed индекс точки, которая будет служить начальной точкой
[in] segment_number указывает номер этого сегмента

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

prepareForSegmentation()

template<typename PointT , typename NormalT >
bool pcl::RegionGrowing< PointT, NormalT >::prepareForSegmentation
protectedvirtual

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

Если это возможно, он возвращает true.

Переопределено в pcl::RegionGrowingRGB< PointT, NormalT >.

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

setCurvatureTestFlag()

template<typename PointT , typename NormalT >
void pcl::RegionGrowing< PointT, NormalT >::setCurvatureTestFlag ( bool value )
virtual

Позволяет включить или выключить проверку кривизны.

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

Параметры
[in] value новое значение для проверки кривизны. Если задано true, проверка будет включена

Переопределено в pcl::RegionGrowingRGB< PointT, NormalT >.

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

setCurvatureThreshold()

template<typename PointT , typename NormalT >
void pcl::RegionGrowing< PointT, NormalT >::setCurvatureThreshold ( float curvature )

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

Параметры
[in] curvature новое пороговое значение для проверки кривизны

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

setInputNormals()

template<typename PointT , typename NormalT >
void pcl::RegionGrowing< PointT, NormalT >::setInputNormals ( const NormalPtr & norm )

Этот метод задаёт нормали.

Они необходимы алгоритму: если нормали не заданы, алгоритм не сможет сегментировать точки.

Параметры
[in] norm нормали, которые будут использоваться алгоритмом

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

setMaxClusterSize()

template<typename PointT , typename NormalT >
void pcl::RegionGrowing< PointT, NormalT >::setMaxClusterSize ( pcl::uindex_t max_cluster_size )

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

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

setMinClusterSize()

template<typename PointT , typename NormalT >
void pcl::RegionGrowing< PointT, NormalT >::setMinClusterSize ( pcl::uindex_t min_cluster_size )

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

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

setNumberOfNeighbours()

template<typename PointT , typename NormalT >
void pcl::RegionGrowing< PointT, NormalT >::setNumberOfNeighbours ( unsigned int neighbour_number )

Позволяет задать количество соседей.

Дополнительные сведения см. в статье.

Параметры
[in] neighbour_number количество используемых соседей

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

setResidualTestFlag()

template<typename PointT , typename NormalT >
void pcl::RegionGrowing< PointT, NormalT >::setResidualTestFlag ( bool value )
virtual

Позволяет включить или выключить проверку остатка.

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

Параметры
[in] value новое значение флага проверки остатка. Если задано true, проверка будет включена

Переопределено в pcl::RegionGrowingRGB< PointT, NormalT >.

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

setResidualThreshold()

template<typename PointT , typename NormalT >
void pcl::RegionGrowing< PointT, NormalT >::setResidualThreshold ( float residual )

Позволяет задать порог остатка, используемый при проверке точек.

Параметры
[in] residual новое значение порога для проверки остатка

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

setSearchMethod()

template<typename PointT , typename NormalT >
void pcl::RegionGrowing< PointT, NormalT >::setSearchMethod ( const KdTreePtr & tree )

Позволяет задать метод поиска, который будет использоваться для поиска K ближайших соседей.

Параметры
[in] tree указатель на KdTree

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

setSmoothModeFlag()

template<typename PointT , typename NormalT >
void pcl::RegionGrowing< PointT, NormalT >::setSmoothModeFlag ( bool value )

Эта функция позволяет включить или выключить ограничение гладкости.

Параметры
[in] value новое значение режима; если задано true, будет использоваться вариант с учетом гладкости.

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

setSmoothnessThreshold()

template<typename PointT , typename NormalT >
void pcl::RegionGrowing< PointT, NormalT >::setSmoothnessThreshold ( float theta )

Позволяет задать порог гладкости, используемый при проверке точек.

Параметры
[in] theta новое значение порога для угла между нормалями

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

validatePoint()

template<typename PointT , typename NormalT >
bool pcl::RegionGrowing< PointT, NormalT >::validatePoint ( pcl::index_t initial_seed,
pcl::index_t point,
pcl::index_t nghbr,
bool & is_a_seed
) const
protectedvirtual

Эта функция проверяет, принадлежит ли сегменту точка с индексом 'nghbr'.

Если да, функция возвращает true. Она также проверяет, может ли эта точка служить исходной.

Параметры
[in] initial_seed индекс исходной точки, переданной в функцию growRegion()
[in] point индекс текущей исходной точки
[in] nghbr индекс точки, соседней с текущей исходной точкой
[out] is_a_seed это значение устанавливается в true, если точка с индексом 'nghbr' может служить исходной

Переопределено в pcl::RegionGrowingRGB< PointT, NormalT >.

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

Подробное описание данных-членов

clusters_

template<typename PointT , typename NormalT >
std::vector<pcl::PointIndices> pcl::RegionGrowing< PointT, NormalT >::clusters_ {}
protected

После сегментации содержит сегменты.

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

curvature_flag_

template<typename PointT , typename NormalT >
bool pcl::RegionGrowing< PointT, NormalT >::curvature_flag_ {true}

Если задано true, во время сегментации выполняется проверка кривизны.

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

curvature_threshold_

template<typename PointT , typename NormalT >
float pcl::RegionGrowing< PointT, NormalT >::curvature_threshold_ {0.05f}

Порог, используемый при проверке кривизны.

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

max_pts_per_cluster_

template<typename PointT , typename NormalT >
pcl::uindex_t pcl::RegionGrowing< PointT, NormalT >::max_pts_per_cluster_ {std::numeric_limits<pcl::uindex_t>::max()}

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

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

min_pts_per_cluster_

template<typename PointT , typename NormalT >
pcl::uindex_t pcl::RegionGrowing< PointT, NormalT >::min_pts_per_cluster_ {1}

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

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

neighbour_number_

template<typename PointT , typename NormalT >
unsigned int pcl::RegionGrowing< PointT, NormalT >::neighbour_number_ {30}

Количество соседей для поиска.

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

normal_flag_

template<typename PointT , typename NormalT >
bool pcl::RegionGrowing< PointT, NormalT >::normal_flag_ {true}

Если задано true, во время сегментации выполняется проверка нормалей/гладкости.

В обычном алгоритме наращивания областей этому флагу всегда присваивается true. Он используется для включения или выключения проверки гладкости в дочернем классе RegionGrowingRGB.

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

normals_

template<typename PointT , typename NormalT >
NormalPtr pcl::RegionGrowing< PointT, NormalT >::normals_ {nullptr}

Содержит нормали точек, которые будут сегментированы.

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

num_pts_in_segment_

template<typename PointT , typename NormalT >
std::vector<pcl::uindex_t> pcl::RegionGrowing< PointT, NormalT >::num_pts_in_segment_ {}

Указывает количество точек в каждом сегменте.

Используется для резервирования памяти.

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

number_of_segments_

template<typename PointT , typename NormalT >
int pcl::RegionGrowing< PointT, NormalT >::number_of_segments_ {0}

Хранит количество сегментов.

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

point_labels_

template<typename PointT , typename NormalT >
std::vector<int> pcl::RegionGrowing< PointT, NormalT >::point_labels_ {}

Метки точек, указывающие, к какому сегменту принадлежит каждая точка.

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

point_neighbours_

template<typename PointT , typename NormalT >
std::vector<pcl::Indices> pcl::RegionGrowing< PointT, NormalT >::point_neighbours_ {}

Содержит соседей каждой точки.

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

residual_flag_

template<typename PointT , typename NormalT >
bool pcl::RegionGrowing< PointT, NormalT >::residual_flag_ {false}

Если задано true, во время сегментации выполняется проверка остатка.

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

residual_threshold_

template<typename PointT , typename NormalT >
float pcl::RegionGrowing< PointT, NormalT >::residual_threshold_ {0.05f}

Порог, используемый при проверке остатка.

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

search_

template<typename PointT , typename NormalT >
KdTreePtr pcl::RegionGrowing< PointT, NormalT >::search_ {nullptr}

Метод поиска, используемый для поиска K ближайших соседей.

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

smooth_mode_flag_

template<typename PointT , typename NormalT >
bool pcl::RegionGrowing< PointT, NormalT >::smooth_mode_flag_ {true}

Флаг, указывающий, будет ли использоваться ограничение гладкости.

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

theta_threshold_

template<typename PointT , typename NormalT >
float pcl::RegionGrowing< PointT, NormalT >::theta_threshold_ {30.0f / 180.0f * static_cast<float>(M_PI)}
защищённый

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

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


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

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

Spec-Zone.ru

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