Оценивает дескрипторы спин-изображения в заданных входных точках. Подробнее...
#include <pcl/features/spin_image.h>
Общедоступные типы | |
| using | Ptr = shared_ptr< SpinImageEstimation< PointInT, PointNT, PointOutT > > |
| using | ConstPtr = shared_ptr< const SpinImageEstimation< PointInT, PointNT, PointOutT > > |
| using | PointCloudOut = typename Feature< PointInT, PointOutT >::PointCloudOut |
| using | PointCloudN = pcl::PointCloud< PointNT > |
| using | PointCloudNPtr = typename PointCloudN::Ptr |
| using | PointCloudNConstPtr = typename PointCloudN::ConstPtr |
| using | PointCloudIn = pcl::PointCloud< PointInT > |
| using | PointCloudInPtr = typename PointCloudIn::Ptr |
| using | PointCloudInConstPtr = typename PointCloudIn::ConstPtr |
|
| |
| using | BaseClass = PCLBase< PointInT > |
| using | Ptr = shared_ptr< Feature< PointInT, PointOutT > > |
| using | ConstPtr = shared_ptr< const Feature< PointInT, PointOutT > > |
| using | KdTree = pcl::search::Search< PointInT > |
| using | KdTreePtr = typename KdTree::Ptr |
| using | PointCloudIn = pcl::PointCloud< PointInT > |
| using | PointCloudInPtr = typename PointCloudIn::Ptr |
| using | PointCloudInConstPtr = typename PointCloudIn::ConstPtr |
| using | PointCloudOut = pcl::PointCloud< PointOutT > |
| using | SearchMethod = std::function< int(std::size_t, double, pcl::Indices &, std::vector< float > &)> |
| using | SearchMethodSurface = std::function< int(const PointCloudIn &cloud, std::size_t index, double, pcl::Indices &, std::vector< float > &)> |
|
| |
| using | PointCloud = pcl::PointCloud< PointInT > |
| using | PointCloudPtr = typename PointCloud::Ptr |
| using | PointCloudConstPtr = typename PointCloud::ConstPtr |
| using | PointIndicesPtr = PointIndices::Ptr |
| using | PointIndicesConstPtr = PointIndices::ConstPtr |
Общедоступные члены-функции | |
| SpinImageEstimation (unsigned int image_width=8, double support_angle_cos=0.0, unsigned int min_pts_neighb=0) | |
| Создаёт пустой оценочный объект спин-изображения. Подробнее... |
|
| ~SpinImageEstimation () override=default | |
| Пустой деструктор. Подробнее... |
|
| void | setImageWidth (unsigned int bin_count) |
| Устанавливает разрешение спин-изображения. Подробнее... |
|
| void | setSupportAngle (double support_angle_cos) |
| Устанавливает максимальный угол для нормали точки, чтобы попасть в область поддержки. Подробнее... |
|
| void | setMinPointCountInNeighbourhood (unsigned int min_pts_neighb) |
| Устанавливает минимальное количество точек для вычисления спин-изображения. Подробнее... |
|
| void | setInputNormals (const PointCloudNConstPtr &normals) |
| Предоставляет указатель на входной набор данных, содержащий нормали точек входного набора XYZ, заданного с помощью setInputCloud. Подробнее... |
|
| void | setRotationAxis (const PointNT &axis) |
| Устанавливает единичный вектор оси вращения для всех входных точек. Подробнее... |
|
| void | setInputRotationAxes (const PointCloudNConstPtr &axes) |
| Устанавливает массив векторов в качестве осей вращения для входных точек. Подробнее... |
|
| void | useNormalsAsRotationAxis () |
| Устанавливает входные нормали в качестве осей вращения (стандартное значение). Подробнее... |
|
| void | setAngularDomain (bool is_angular=true) |
| Устанавливает/снимает флаг для угловой области спин-изображения. Подробнее... |
|
| void | setRadialStructure (bool is_radial=true) |
| Устанавливает/снимает флаг для радиальной структуры спин-изображения. Подробнее... |
|
|
| |
| Feature () | |
| Пустой конструктор. Подробнее... |
|
| void | setSearchSurface (const PointCloudInConstPtr &cloud) |
| Предоставляет указатель на набор данных поверхности, чтобы добавить дополнительную информацию для оценки признаков каждой точки в входном наборе данных. Подробнее... |
|
| PointCloudInConstPtr | getSearchSurface () const |
| Получает указатель на набор данных облака точек поверхности. Подробнее... |
|
| void | setSearchMethod (const KdTreePtr &tree) |
| Предоставляет указатель на объект поиска. Подробнее... |
|
| KdTreePtr | getSearchMethod () const |
| Получает указатель на метод поиска, используемый. Подробнее... |
|
| double | getSearchParameter () const |
| Получить внутренний параметр поиска. Подробнее... |
|
| void | setKSearch (int k) |
| Установить количество k ближайших соседей для оценки признака. Подробнее... |
|
| int | getKSearch () const |
| Получить количество k ближайших соседей, используемых для оценки признака. Подробнее... |
|
| void | setRadiusSearch (double radius) |
| Установить радиус сферы, который используется для определения ближайших соседей, используемых для оценки признака. Подробнее... |
|
| double | getRadiusSearch () const |
| Получить радиус сферы, используемый для определения соседей. Подробнее... |
|
| void | compute (PointCloudOut &output) |
| Базовый метод для оценки признаков для всех точек, заданных в <setInputCloud (), setIndices ()>, используя поверхность в setSearchSurface () и пространственный локатор в setSearchMethod () Подробнее... |
|
|
| |
| 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 PointInT & | operator[] (std::size_t pos) const |
| Переопределение PointCloud operator[] для сокращения кода. Подробнее... |
|
Защищенные члены-функции | |
| void | computeFeature (PointCloudOut &output) override |
| Вычислить дескрипторы Spin Image в наборе точек, заданных setInputWithNormals(), используя поверхность в setSearchSurfaceWithNormals() и пространственный локатор. Подробнее... |
|
| bool | initCompute () override |
| Инициализирует вычисления, специфичные для spin-image. Подробнее... |
|
| Eigen::ArrayXXd | computeSiForPoint (int index) const |
| Вычисляет спин-изображение для точки сканирования. Подробнее... |
|
|
| |
| const std::string & | getClassName () const |
| Получить строковое представление имени этого класса. Подробнее... |
|
| virtual bool | deinitCompute () |
| Этот метод должен вызываться после завершения фактического вычисления. Подробнее... |
|
| int | searchForNeighbors (std::size_t index, double parameter, pcl::Indices &indices, std::vector< float > &distances) const |
| Найти k ближайших соседей, используя пространственный локатор из setSearchmethod и заданную поверхность из setSearchSurface. Подробнее... |
|
| int | searchForNeighbors (const PointCloudIn &cloud, std::size_t index, double parameter, pcl::Indices &indices, std::vector< float > &distances) const |
| Найти k ближайших соседей, используя пространственный локатор из setSearchmethod и заданную поверхность из setSearchSurface. Подробнее... |
|
|
| |
| bool | initCompute () |
| Этот метод должен вызываться перед началом фактического вычисления. Подробнее... |
|
| bool | deinitCompute () |
| Этот метод должен вызываться после завершения фактического вычисления. Подробнее... |
|
Дополнительные унаследованные члены | |
|
| |
| std::string | feature_name_ |
| Имя функции. Подробнее... |
|
| SearchMethodSurface | search_method_surface_ |
| Шаблон метода поиска точек. Подробнее... |
|
| PointCloudInConstPtr | surface_ |
| Входное облако точек, описывающее поверхность, используемую для оценки ближайших соседей. Подробнее... |
|
| KdTreePtr | tree_ |
| Указатель на объект пространственного поиска. Подробнее... |
|
| double | search_parameter_ |
| Фактический параметр поиска (из search_radius_ или k_). Подробнее... |
|
| double | search_radius_ |
| Радиус поиска ближайших соседей для каждой точки. Подробнее... |
|
| int | k_ |
| Количество K ближайших соседей для каждой точки. Подробнее... |
|
| bool | fake_surface_ |
| Если поверхность не задана, мы используем входное PointCloud как поверхность. Подробнее... |
|
|
| |
| PointCloudConstPtr | input_ |
| Входное облако точек. Подробнее... |
|
| IndicesPtr | indices_ |
| Указатель на вектор индексов точек для использования. Подробнее... |
|
| bool | use_indices_ |
| Устанавливается в true, если используются индексы точек. Подробнее... |
|
| bool | fake_indices_ |
| Если набор индексов не задан, мы создаём набор фиктивных индексов, имитирующих входное PointCloud. Подробнее... |
|
Подробное описание
шаблон<typename PointInT, typename PointNT, typename PointOutT>
класс pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >
Вычисляет спин-изображения в заданных входных точках.
Этот класс представляет собой спин-изображение-описатель. Спин-изображение — это гистограмма расположения точек, суммированных вдоль ячеек изображения. Создаётся 2D-аккумулятора индексируемый по a и b. Далее, координаты (a, b) вычисляются для вершины в сетке поверхности, которая находится в пределах области поддержки спин-изображения (объясняется ниже). Затем увеличивается ячейка с индексом (a, b) в аккумуляторе; для сглаживания вклада вершины используется билинейная интерполяция. Эта процедура повторяется для всех вершин в пределах области поддержки спин-изображения. Полученный накопитель можно рассматривать как изображение; тёмные области на изображении соответствуют ячейкам, содержащим много спроектированных точек. Пока размер ячеек в аккумуляторе больше, чем среднее расстояние между вершинами в сетке (определение разрешения сетки), положение отдельных вершин будет усредняться при генерации спин-изображения.
- Внимания
- Векторы нормалей, заданные с помощью setInputNormals, должны соответствовать облаку точек, заданному с помощью setInputCloud. Это поведение отличается от методов оценки признаков, которые расширяют FeatureFromNormals, которые сопоставляют нормали с поверхностью поиска.
При стандартных параметрах pcl::Histogram<153> является хорошим выбором для PointOutT. Конечно, размер этого описателя должен изменяться, чтобы соответствовать количеству ячеек, заданных параметрами.
Для получения дополнительной информации, пожалуйста, см.:
- Johnson, A. E., & Hebert, M. (1998). Surface Matching for Объект Recognition in Complex 3D Scenes. Image and Vision Computing, 16, 635-651.
Класс также реализует радиальные спин-изображения и спин-изображения в угловой области (или оба).
Определение в строке 87 файла spin_image.h.
Документация по определению типов членов
ConstPtr
| используется pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >::ConstPtr = shared_ptr<const SpinImageEstimation<PointInT, PointNT, PointOutT> > |
Определение в строке 91 файла spin_image.h.
PointCloudIn
| используется pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >::PointCloudIn = pcl::PointCloud<PointInT> |
Определение в строке 107 файла spin_image.h.
PointCloudInConstPtr
| используется pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >::PointCloudInConstPtr = typename PointCloudIn::ConstPtr |
Определение в строке 109 файла spin_image.h.
PointCloudInPtr
| используется pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >::PointCloudInPtr = typename PointCloudIn::Ptr |
Определение в строке 108 файла spin_image.h.
PointCloudN
| using pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >::PointCloudN = pcl::PointCloud<PointNT> |
Definition at line 103 of file spin_image.h.
PointCloudNConstPtr
| using pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >::PointCloudNConstPtr = typename PointCloudN::ConstPtr |
Definition at line 105 of file spin_image.h.
PointCloudNPtr
| using pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >::PointCloudNPtr = typename PointCloudN::Ptr |
Definition at line 104 of file spin_image.h.
PointCloudOut
| using pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >::PointCloudOut = typename Feature<PointInT, PointOutT>::PointCloudOut |
Definition at line 101 of file spin_image.h.
Ptr
| using pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >::Ptr = shared_ptr<SpinImageEstimation<PointInT, PointNT, PointOutT> > |
Definition at line 90 of file spin_image.h.
Конструктор и деструктор документации
SpinImageEstimation()
| pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >::SpinImageEstimation | ( | unsigned int |
image_width = 8, |
| double |
support_angle_cos = 0.0, | ||
| unsigned int |
min_pts_neighb = 0 | ||
| ) |
Создаёт пустой оценщик спин-изображений.
- Параметры
-
[in] image_width разрешение спин-изображения, количество ячеек по одной из размерностей [in] support_angle_cos минимальное допустимое косинус угла между нормалями входной точки и точки поверхности поиска для того, чтобы точка была включена в подмножество [in] min_pts_neighb минимальное количество точек в подмножестве для корректной оценки спин-изображения. Если в какой-то момент подмножество содержит меньше точек, выбрасывается исключение
Определение в строке 52 файла spin_image.hpp.
Ссылки на pcl::Feature< PointInT, PointOutT >::feature_name_.
~SpinImageEstimation()
| overridedefault |
Пустой деструктор.
Документация по членам-функциям
computeFeature()
| overrideprotectedvirtual |
Вычисляет описатели спин-изображений в наборе точек, заданном с помощью setInputWithNormals(), используя поверхность в setSearchSurfaceWithNormals() и пространственный локатор.
- Параметры
-
[out] output результирующее облако точек, содержащее оценки признаков спин-изображений
Реализует pcl::Feature< PointInT, PointOutT >.
Определение в строке 322 файла spin_image.hpp.
computeSiForPoint()
| protected |
Вычисляет спин-изображение для точки сканирования.
- Параметры
-
[in] index индекс опорной точки в входном облаке
- Возвращает
- вычисленное спин-изображение (или его вариант) в виде матрицы
Определение в строке 67 файла spin_image.hpp.
Ссылки на M_PI.
initCompute()
| overrideprotectedvirtual |
Инициализирует вычисления, специфичные для спин-изображений.
- Возвращает
- true, если входные данные и инициализация корректны, иначе false.
Переопределено из pcl::Feature< PointInT, PointOutT >.
Определение в строке 237 файла spin_image.hpp.
Ссылки на pcl::Feature< PointInT, PointOutT >::deinitCompute().
setAngularDomain()
| inline |
Устанавливает/снимает флаг для угловой области спин-изображения.
Угловое спин-изображение отличается от обычного тем, что точки не собираются в ячейки, а собираются углы между их нормалями и нормалью к опорной точке. Для получения дополнительной информации см. Endres, F., Plagemann, C., Stachniss, C., & Burgard, W. (2009). Бессознательное открытие классов объектов из данных дальности с помощью латентного распределения Дирихле. В робототехнике: наука и системы. Сиэтл, США.
- Параметры
-
[in] is_angular true для угловой области, false для области точек
Определение в строке 230 файла spin_image.h.
setImageWidth()
| inline |
Устанавливает разрешение спин-изображения.
- Параметры
-
[in] bin_count разрешение спин-изображения, количество ячеек по одной из размерностей
Определение в строке 132 файла spin_image.h.
setInputNormals()
| inline |
Предоставьте указатель на входной набор данных, содержащий нормали точек входного набора XYZ, заданного setInputCloud.
- Внимание
- Входящие нормали, задаваемые setInputNormals, должны соответствовать входному облаку точек, заданному setInputCloud. Это поведение отличается от методов оценки признаков, расширяющих FeatureFromNormals, которые сопоставляют нормали с поверхностью поиска.
- Параметры
-
[in] normals постоянный boost общий указатель на PointCloud нормалей. Согласно соглашению, норма должна иметь L2 норму, равную 1.
Определение в строке 177 файла spin_image.h.
setInputRotationAxes()
| inline |
Устанавливает массив векторов в качестве осей вращения для входных точек.
Полезно, например, когда нужно использовать касательные вместо нормалей в качестве осей вращения.
- Параметры
-
[in] axes векторы единичной длины, используемые в качестве осей вращения для соответствующих систем отсчета входных точек
Определение в строке 202 файла spin_image.h.
setMinPointCountInNeighbourhood()
| inline |
Устанавливает минимальное количество точек для вычисления спин-изображения.
- Параметры
-
[in] min_pts_neighb минимальное число точек в области поддержки для корректной оценки спин-изображения. Если в какой-то момент область поддержки содержит меньше точек, возникает исключение
Определение в строке 161 файла spin_image.h.
setRadialStructure()
| inline |
Устанавливает/снимает флаг для радиальной структуры спин-изображения.
Вместо прямоугочной системы координат для системы отсчета используются полярные координаты. Разбиение выполняется в зависимости от расстояния и угла наклона от опорной точки.
- Параметры
-
[in] is_radial true для радиальной структуры спин-изображения, false для прямоугольной
Определение в строке 240 файла spin_image.h.
setRotationAxis()
| inline |
Устанавливает единственный вектор в качестве оси вращения для всех входных точек.
Это может быть полезно, например, если известна вертикальная ось.
- Параметры
-
[in] axis вектор единичной длины, используемый в качестве оси вращения для системы отсчета
Определение в строке 188 файла spin_image.h.
setSupportAngle()
| inline |
Устанавливает максимальный угол для нормали точки, чтобы попасть в область поддержки.
- Параметры
-
[in] support_angle_cos минимально допустимый косинус угла между нормалями входной точки и точки поверхности поиска для сохранения точки в области поддержки
Определение в строке 144 файла spin_image.h.
useNormalsAsRotationAxis()
| inline |
Устанавливает входные нормали в качестве осей вращения (стандартное значение).
Определение в строке 212 файла spin_image.h.
Документация для этого класса была сгенерирована из следующих файлов:
- pcl/features/spin_image.h
- pcl/features/impl/spin_image.hpp
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_spin_image_estimation.html