Spec-Zone.ru › PointCloudLibrary

Оценивает дескрипторы спин-изображения в заданных входных точках. Подробнее...

#include <pcl/features/spin_image.h>

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

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

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
- Общедоступные типы, унаследованные от pcl::Feature< PointInT, PointOutT >
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 > &)>
- Общедоступные типы, унаследованные от pcl::PCLBase< PointInT >
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)
Устанавливает/снимает флаг для радиальной структуры спин-изображения. Подробнее...
- Общедоступные члены-функции унаследованные от pcl::Feature< PointInT, PointOutT >
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 () Подробнее...
- Общедоступные методы, унаследованные от pcl::PCLBase< PointInT >
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
Вычисляет спин-изображение для точки сканирования. Подробнее...
- Защищенные члены-функции, унаследованные от pcl::Feature< PointInT, PointOutT >
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. Подробнее...
- Защищенные члены-функции, унаследованные от pcl::PCLBase< PointInT >
bool initCompute ()
Этот метод должен вызываться перед началом фактического вычисления. Подробнее...
bool deinitCompute ()
Этот метод должен вызываться после завершения фактического вычисления. Подробнее...

Дополнительные унаследованные члены

- Защищённые атрибуты, унаследованные от pcl::Feature< PointInT, PointOutT >
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 как поверхность. Подробнее...
- Защищённые атрибуты, унаследованные от pcl::PCLBase< PointInT >
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.

Класс также реализует радиальные спин-изображения и спин-изображения в угловой области (или оба).

Автор
Roman Shapovalov, Alexander Velizhev

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

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

ConstPtr

шаблон<typename PointInT , typename PointNT , typename PointOutT >
используется pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >::ConstPtr = shared_ptr<const SpinImageEstimation<PointInT, PointNT, PointOutT> >

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

PointCloudIn

шаблон<typename PointInT , typename PointNT , typename PointOutT >
используется pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >::PointCloudIn = pcl::PointCloud<PointInT>

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

PointCloudInConstPtr

шаблон<typename PointInT , typename PointNT , typename PointOutT >
используется pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >::PointCloudInConstPtr = typename PointCloudIn::ConstPtr

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

PointCloudInPtr

шаблон<typename PointInT , typename PointNT , typename PointOutT >
используется pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >::PointCloudInPtr = typename PointCloudIn::Ptr

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

PointCloudN

template<typename PointInT , typename PointNT , typename PointOutT >
using pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >::PointCloudN = pcl::PointCloud<PointNT>

Definition at line 103 of file spin_image.h.

PointCloudNConstPtr

template<typename PointInT , typename PointNT , typename PointOutT >
using pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >::PointCloudNConstPtr = typename PointCloudN::ConstPtr

Definition at line 105 of file spin_image.h.

PointCloudNPtr

template<typename PointInT , typename PointNT , typename PointOutT >
using pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >::PointCloudNPtr = typename PointCloudN::Ptr

Definition at line 104 of file spin_image.h.

PointCloudOut

template<typename PointInT , typename PointNT , typename PointOutT >
using pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >::PointCloudOut = typename Feature<PointInT, PointOutT>::PointCloudOut

Definition at line 101 of file spin_image.h.

Ptr

template<typename PointInT , typename PointNT , typename PointOutT >
using pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >::Ptr = shared_ptr<SpinImageEstimation<PointInT, PointNT, PointOutT> >

Definition at line 90 of file spin_image.h.

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

SpinImageEstimation()

template<typename PointInT , typename PointNT , typename PointOutT >
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()

template<typename PointInT , typename PointNT , typename PointOutT >
pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >::~SpinImageEstimation ( )
overridedefault

Пустой деструктор.

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

computeFeature()

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >::computeFeature ( PointCloudOut & output )
overrideprotectedvirtual

Вычисляет описатели спин-изображений в наборе точек, заданном с помощью setInputWithNormals(), используя поверхность в setSearchSurfaceWithNormals() и пространственный локатор.

Параметры
[out] output результирующее облако точек, содержащее оценки признаков спин-изображений

Реализует pcl::Feature< PointInT, PointOutT >.

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

computeSiForPoint()

template<typename PointInT , typename PointNT , typename PointOutT >
Eigen::ArrayXXd pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >::computeSiForPoint ( int index ) const
protected

Вычисляет спин-изображение для точки сканирования.

Параметры
[in] index индекс опорной точки в входном облаке
Возвращает
вычисленное спин-изображение (или его вариант) в виде матрицы

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

Ссылки на M_PI.

initCompute()

template<typename PointInT , typename PointNT , typename PointOutT >
bool pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >::initCompute
overrideprotectedvirtual

Инициализирует вычисления, специфичные для спин-изображений.

Возвращает
true, если входные данные и инициализация корректны, иначе false.

Переопределено из pcl::Feature< PointInT, PointOutT >.

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

Ссылки на pcl::Feature< PointInT, PointOutT >::deinitCompute().

setAngularDomain()

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >::setAngularDomain ( bool is_angular = true )
inline

Устанавливает/снимает флаг для угловой области спин-изображения.

Угловое спин-изображение отличается от обычного тем, что точки не собираются в ячейки, а собираются углы между их нормалями и нормалью к опорной точке. Для получения дополнительной информации см. Endres, F., Plagemann, C., Stachniss, C., & Burgard, W. (2009). Бессознательное открытие классов объектов из данных дальности с помощью латентного распределения Дирихле. В робототехнике: наука и системы. Сиэтл, США.

Параметры
[in] is_angular true для угловой области, false для области точек

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

setImageWidth()

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >::setImageWidth ( unsigned int bin_count )
inline

Устанавливает разрешение спин-изображения.

Параметры
[in] bin_count разрешение спин-изображения, количество ячеек по одной из размерностей

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

setInputNormals()

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >::setInputNormals ( const PointCloudNConstPtr & normals )
inline

Предоставьте указатель на входной набор данных, содержащий нормали точек входного набора XYZ, заданного setInputCloud.

Внимание
Входящие нормали, задаваемые setInputNormals, должны соответствовать входному облаку точек, заданному setInputCloud. Это поведение отличается от методов оценки признаков, расширяющих FeatureFromNormals, которые сопоставляют нормали с поверхностью поиска.
Параметры
[in] normals постоянный boost общий указатель на PointCloud нормалей. Согласно соглашению, норма должна иметь L2 норму, равную 1.

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

setInputRotationAxes()

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >::setInputRotationAxes ( const PointCloudNConstPtr & axes )
inline

Устанавливает массив векторов в качестве осей вращения для входных точек.

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

Параметры
[in] axes векторы единичной длины, используемые в качестве осей вращения для соответствующих систем отсчета входных точек

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

setMinPointCountInNeighbourhood()

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >::setMinPointCountInNeighbourhood ( unsigned int min_pts_neighb )
inline

Устанавливает минимальное количество точек для вычисления спин-изображения.

Параметры
[in] min_pts_neighb минимальное число точек в области поддержки для корректной оценки спин-изображения. Если в какой-то момент область поддержки содержит меньше точек, возникает исключение

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

setRadialStructure()

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >::setRadialStructure ( bool is_radial = true )
inline

Устанавливает/снимает флаг для радиальной структуры спин-изображения.

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

Параметры
[in] is_radial true для радиальной структуры спин-изображения, false для прямоугольной

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

setRotationAxis()

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >::setRotationAxis ( const PointNT & axis )
inline

Устанавливает единственный вектор в качестве оси вращения для всех входных точек.

Это может быть полезно, например, если известна вертикальная ось.

Параметры
[in] axis вектор единичной длины, используемый в качестве оси вращения для системы отсчета

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

setSupportAngle()

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >::setSupportAngle ( double support_angle_cos )
inline

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

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

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

useNormalsAsRotationAxis()

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::SpinImageEstimation< PointInT, PointNT, PointOutT >::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

Spec-Zone.ru

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