Spec-Zone.ru › PointCloudLibrary

Реализация фильтра масштаба разности нормалей (DoN) для данных облака точек. Подробнее...

#include <pcl/features/don.h>

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

Публичные типы

using Ptr = shared_ptr< DifferenceOfNormalsEstimation< PointInT, PointNT, PointOutT > >
using ConstPtr = shared_ptr< const DifferenceOfNormalsEstimation< PointInT, PointNT, PointOutT > >
- Публичные типы, унаследованные от 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

Открытые функции-члены

DifferenceOfNormalsEstimation ()
Создаёт новый фильтр разности нормалей. Подробнее...
~DifferenceOfNormalsEstimation () override=default
void setNormalScaleSmall (const PointCloudNConstPtr &normals)
Задаёт нормали, вычисленные с использованием меньшего радиуса поиска (масштаба) для оператора DoN. Подробнее...
void setNormalScaleLarge (const PointCloudNConstPtr &normals)
Задаёт нормали, вычисленные с использованием большего радиуса поиска (масштаба) для оператора DoN. Подробнее...
void computeFeature (PointCloudOut &output) override
Вычисляет вектор DoN для каждой точки входного облака точек и записывает облако векторов в заданный выходной параметр. Подробнее...
bool initCompute () override
Инициализирует вычисление признаков. Подробнее...
- Открытые функции-члены, унаследованные от 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
Переопределяет operator[] класса PointCloud для сокращения кода. Подробнее...

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

- Защищённые функции-члены, унаследованные от 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_
Количество ближайших соседей, используемых для каждой точки. Подробнее...
bool fake_surface_
Если поверхность не задана, в качестве поверхности используется входное облако PointCloud. Подробнее...
- Защищённые атрибуты, унаследованные от pcl::PCLBase< PointInT >
PointCloudConstPtr input_
Входной набор данных — облако точек. Подробнее...
IndicesPtr indices_
Указатель на вектор используемых индексов точек. Подробнее...
bool use_indices_
Установите значение true, если используются индексы точек. Подробнее...
bool fake_indices_
Если набор индексов не задан, создаётся набор фиктивных индексов, соответствующий входному облаку PointCloud. Подробнее...

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

template<typename PointInT, typename PointNT, typename PointOutT>
class pcl::DifferenceOfNormalsEstimation< PointInT, PointNT, PointOutT >

Реализация масштабного фильтра Difference of Normals (DoN) для данных облака точек.

Для каждой точки облака вычисляются две нормали с разными радиусами поиска (sigma_s, sigma_l), после чего одна нормаль вычитается из другой. Разность этих нормалей даёт признак, зависящий от масштаба, который можно использовать для фильтрации облака точек. Метод похож на Difference of Gaussians в обработке изображений, но применяется к поверхностям. Наилучшие результаты достигаются, когда радиусы поиска соотносятся как sigma_l=10*sigma_s; число октав между радиусами поиска можно рассматривать как полосу пропускания фильтра. При подходящих значениях и порогах этот метод можно использовать для выделения границ поверхности.

Внимание
Входные нормали, передаваемые методами setInputNormalsSmall и setInputNormalsLarge, должны соответствовать входному облаку точек, передаваемому методом setInputCloud. Это поведение отличается от методов оценки признаков, наследующих FeatureFromNormals, которые сопоставляют нормали с поисковой поверхностью.
Примечание
Дополнительную информацию см. в работе: Yani Ioannou. Automatic Urban Modelling using Mobile Urban LIDAR Data. Thesis (Master, Computing), Queen's University, March, 2010.
Автор
Yani Ioannou.

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

Описание псевдонимов типов-членов

ConstPtr

template<typename PointInT , typename PointNT , typename PointOutT >
using pcl::DifferenceOfNormalsEstimation< PointInT, PointNT, PointOutT >::ConstPtr = shared_ptr<const DifferenceOfNormalsEstimation<PointInT, PointNT, PointOutT> >

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

Ptr

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

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

Описание конструктора и деструктора

DifferenceOfNormalsEstimation()

template<typename PointInT , typename PointNT , typename PointOutT >
pcl::DifferenceOfNormalsEstimation< PointInT, PointNT, PointOutT >::DifferenceOfNormalsEstimation ( )
inline

Создаёт новый фильтр Difference of Normals.

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

Ссылки: pcl::Feature< PointInT, PointOutT >::feature_name_.

~DifferenceOfNormalsEstimation()

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

Описание функций-членов

computeFeature()

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

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

Параметры
output облако, в которое записывается облако векторов DoN.

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

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

initCompute()

template<typename PointInT , typename PointNT , typename PointOutT >
bool pcl::DifferenceOfNormalsEstimation< PointInT, PointNT, PointOutT >::initCompute
overridevirtual

Инициализация вычисления признаков.

Возвращает
true, если параметры (входные нормали, входные данные) достаточны для выполнения вычислений.

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

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

setNormalScaleLarge()

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

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

Параметры
normals нормали, вычисленные с большим радиусом (масштабом) для фильтра DoN.

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

setNormalScaleSmall()

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

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

Параметры
normals нормали, вычисленные с меньшим радиусом (масштабом) для фильтра DoN.

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


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

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

Spec-Zone.ru

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