Определение нормали поверхности на организованных данных с использованием интегральных изображений. Подробнее...
#include <pcl/features/integral_image_normal.h>
Публичные типы | |
| перечисление | BorderPolicy { BORDER_POLICY_IGNORE , BORDER_POLICY_MIRROR } |
| Разные типы обработки границ. Подробнее... |
|
| перечисление | NormalEstimationMethod { COVARIANCE_MATRIX , AVERAGE_3D_GRADIENT , AVERAGE_DEPTH_CHANGE , SIMPLE_3D_GRADIENT } |
| Разные методы оценки нормалей. Подробнее... |
|
| используя | Ptr = shared_ptr< IntegralImageNormalEstimation< PointInT, PointOutT > > |
| используя | ConstPtr = shared_ptr< const IntegralImageNormalEstimation< PointInT, PointOutT > > |
| используя | PointCloudIn = typename Feature< PointInT, PointOutT >::PointCloudIn |
| используя | PointCloudOut = typename Feature< PointInT, PointOutT >::PointCloudOut |
|
| |
| используя | BaseClass = PCLBase< PointInT > |
| используя | Ptr = shared_ptr< Feature< PointInT, PointOutT > > |
| используя | ConstPtr = shared_ptr< const Feature< PointInT, PointOutT > > |
| используя | KdTree = pcl::search::Search< PointInT > |
| используя | KdTreePtr = typename KdTree::Ptr |
| используя | PointCloudIn = pcl::PointCloud< PointInT > |
| используя | PointCloudInPtr = typename PointCloudIn::Ptr |
| используя | PointCloudInConstPtr = typename PointCloudIn::ConstPtr |
| используя | PointCloudOut = pcl::PointCloud< PointOutT > |
| используя | SearchMethod = std::function< int(std::size_t, double, pcl::Indices &, std::vector< float > &)> |
| используя | SearchMethodSurface = std::function< int(const PointCloudIn &cloud, std::size_t index, double, pcl::Indices &, std::vector< float > &)> |
|
| |
| используя | PointCloud = pcl::PointCloud< PointInT > |
| используя | PointCloudPtr = typename PointCloud::Ptr |
| using | PointCloudConstPtr = typename PointCloud::ConstPtr |
| using | PointIndicesPtr = PointIndices::Ptr |
| using | PointIndicesConstPtr = PointIndices::ConstPtr |
Публичные функции-члены | |
| IntegralImageNormalEstimation () | |
| Конструктор. Подробнее... |
|
| ~IntegralImageNormalEstimation () override | |
| Деструктор. Подробнее... |
|
| void | setRectSize (const int width, const int height) |
| Задать размер областей, которые учитываются при оценке нормали. Подробнее... |
|
| void | setBorderPolicy (const BorderPolicy border_policy) |
| Устанавливает политику обработки границ. Подробнее... |
|
| void | computePointNormal (const int pos_x, const int pos_y, const unsigned point_index, PointOutT &normal) |
| Вычисляет нормаль в указанной позиции. Подробнее... |
|
| void | computePointNormalMirror (const int pos_x, const int pos_y, const unsigned point_index, PointOutT &normal) |
| Вычисляет нормаль в указанной позиции с зеркальным отображением для обработки границ. Подробнее... |
|
| void | setMaxDepthChangeFactor (float max_depth_change_factor) |
| Пороговое значение изменения глубины для вычисления границ объекта. Подробнее... |
|
| void | setNormalSmoothingSize (float normal_smoothing_size) |
| Задать размер сглаживания нормали. Подробнее... |
|
| void | setNormalEstimationMethod (NormalEstimationMethod normal_estimation_method) |
| Задать метод оценки нормали. Подробнее... |
|
| void | setDepthDependentSmoothing (bool use_depth_dependent_smoothing) |
| Установить, использовать ли сглаживание в зависимости от глубины или нет. Подробнее... |
|
| void | setInputCloud (const typename PointCloudIn::ConstPtr &cloud) override |
| Предоставить указатель на входной набор данных (перезаписывает метод PCLBase::setInputCloud) Подробнее... |
|
| float * | getDistanceMap () |
| Возвращает указатель на карту расстояний, которая была вычислена внутренне. Подробнее... |
|
| void | setViewPoint (float vpx, float vpy, float vpz) |
| Задать точку зрения. Подробнее... |
|
| void | getViewPoint (float &vpx, float &vpy, float &vpz) |
| Получить точку зрения. Подробнее... |
|
| void | useSensorOriginAsViewPoint () |
| Устанавливает, следует ли использовать начало координат датчика или заданную пользователем точку зрения. Подробнее... |
|
|
| |
| 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[] для сокращения кода. Подробнее... |
|
Защищенные члены-функции | |
| void | computeFeature (PointCloudOut &output) override |
| Вычисляет нормаль для всего облака точек или только для indices_, если задано. Подробнее... |
|
| void | computeFeatureFull (const float *distance_map, const float &bad_point, PointCloudOut &output) |
| Вычисляет нормаль для всего облака точек. Подробнее... |
|
| void | computeFeaturePart (const float *distance_map, const float &bad_point, PointCloudOut &output) |
| Вычисляет нормаль для части облака, заданной indices_. Подробнее... |
|
| void | initData () |
| Инициализирует структуры данных, исходя из выбранного метода вычисления нормалей. Подробнее... |
|
|
| |
| 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 PointOutT>
класс pcl::IntegralImageNormalEstimation< PointInT, PointOutT >
Оценка нормалей к поверхности на упорядоченных данных с использованием интегральных изображений.
For detailed information about this method see: S. Holzer and R. B. Rusu and M. Dixon and S. Gedikli and N. Navab, Adaptive Neighborhood Selection for Real-Time Surface Normal Estimation from Organized Point Cloud Data Using Integral Images, IROS 2012. D. Holz, S. Holzer, R. B. Rusu, and S. Behnke (2011, July). Real-Time Plane Segmentation using RGB-D Cameras. In Proceedings of the 15th RoboCup International Symposium, Istanbul, Turkey. http://www.ais.uni-bonn.de/~holz/papers/holz_2011_robocup.pdf
Определение в строке 65 файла integral_image_normal.h.
Документация по определению типа члена
ConstPtr
| используя pcl::IntegralImageNormalEstimation< PointInT, PointOutT >::ConstPtr = shared_ptr<const IntegralImageNormalEstimation<PointInT, PointOutT> > |
Определение в строке 75 файла integral_image_normal.h.
PointCloudIn
| using pcl::IntegralImageNormalEstimation< PointInT, PointOutT >::PointCloudIn = typename Feature<PointInT, PointOutT>::PointCloudIn |
Определение в строке 103 файла integral_image_normal.h.
PointCloudOut
| using pcl::IntegralImageNormalEstimation< PointInT, PointOutT >::PointCloudOut = typename Feature<PointInT, PointOutT>::PointCloudOut |
Определение в строке 104 файла integral_image_normal.h.
Ptr
| using pcl::IntegralImageNormalEstimation< PointInT, PointOutT >::Ptr = shared_ptr<IntegralImageNormalEstimation<PointInT, PointOutT> > |
Определение в строке 74 файла integral_image_normal.h.
Документация перечислений членов
BorderPolicy
| enum pcl::IntegralImageNormalEstimation::BorderPolicy |
Различные типы обработки границ.
| Перечислитель | |
|---|---|
| BORDER_POLICY_IGNORE | |
| BORDER_POLICY_MIRROR | |
Определение в строке 78 файла integral_image_normal.h.
NormalEstimationMethod
| enum pcl::IntegralImageNormalEstimation::NormalEstimationMethod |
Различные методы оценки нормалей.
- COVARIANCE_MATRIX - создает 9 интегральных изображений для вычисления нормали для определенной точки из ковариационной матрицы ее локального окружения.
- AVERAGE_3D_GRADIENT - создает 6 интегральных изображений для вычисления сглаженных версий горизонтальных и вертикальных 3D градиентов и вычисляет нормали с использованием векторного произведения между этими двумя градиентами.
- AVERAGE_DEPTH_CHANGE - создает только одно интегральное изображение и вычисляет нормали из средних изменений глубины.
| Перечислитель | |
|---|---|
| COVARIANCE_MATRIX | |
| AVERAGE_3D_GRADIENT | |
| AVERAGE_DEPTH_CHANGE | |
| SIMPLE_3D_GRADIENT | |
Определение в строке 95 файла integral_image_normal.h.
Конструктор & деструктор
IntegralImageNormalEstimation()
| inline |
Конструктор.
Определение в строке 107 файла integral_image_normal.h.
Ссылки на pcl::Feature< PointInT, PointOutT >::feature_name_, pcl::Feature< PointInT, PointOutT >::k_ и pcl::Feature< PointInT, PointOutT >::tree_.
~IntegralImageNormalEstimation()
| override |
Деструктор.
Определение в строке 45 файла integral_image_normal.hpp.
Документация функций-членов
computeFeature()
| overrideprotectedvirtual |
Вычисляет нормаль для всего облака или только для indices_, если заданы.
- Параметры
-
[out] output результирующие нормали
Реализует pcl::Feature< PointInT, PointOutT >.
Определение в строке 729 файла integral_image_normal.hpp.
Ссылки на pcl::PointCloud< PointT >::sensor_orientation_ и pcl::PointCloud< PointT >::sensor_origin_.
computeFeatureFull()
| protected |
Вычисляет нормаль для всего облака точек.
- Параметры
-
[in] distance_map карта расстояний [in] bad_point константа, присваиваемая недействительным компонентам нормали [out] output результирующие нормали
Определение в строке 836 файла integral_image_normal.hpp.
Ссылки на pcl::computePointNormal(), pcl::PointCloud< PointT >::is_dense и pcl::PointCloud< PointT >::width.
computeFeaturePart()
| protected |
Вычисляет нормаль для части облака, указанной параметром indices_.
- Параметры
-
[in] distance_map карта расстояний [in] bad_point константа, присваиваемая недействительным компонентам нормали [out] output результирующие нормали
Определение в строке 1023 файла integral_image_normal.hpp.
Ссылки на pcl::computePointNormal(), pcl::PointCloud< PointT >::is_dense и pcl::PointCloud< PointT >::width.
computePointNormal()
|
Вычисляет нормаль в заданной позиции.
- Параметры
-
[in] pos_x координата x (пиксель) [in] pos_y координата y (пиксель) [in] point_index индекс позиции точки [out] normal вычисленная нормаль
Определение в строке 205 файла integral_image_normal.hpp.
Ссылки на pcl::eigen33(), pcl::flipNormalTowardsViewpoint(), pcl::IntegralImage2D< DataType, Dimension >::getFirstOrderSum() и pcl::IntegralImage2D< DataType, Dimension >::getSecondOrderSum().
computePointNormalMirror()
|
Вычисляет нормаль в заданной позиции с отражением для обработки границ.
- Параметры
-
[in] pos_x координата x (пиксель) [in] pos_y координата y (пиксель) [in] point_index индекс позиции точки [out] normal вычисленная нормаль
Определение в строке 460 файла integral_image_normal.hpp.
Ссылки на pcl::eigen33(), pcl::flipNormalTowardsViewpoint() и pcl::IntegralImage2D< DataType, Dimension >::getFirstOrderSumSE().
getDistanceMap()
| inline |
Возвращает указатель на карту расстояний, вычисленную внутри.
Определение в строке 257 файла integral_image_normal.h.
getViewPoint()
| inline |
Получить точку зрения.
- Parameters
-
[out] vpx координата x точки зрения [out] vpy координата y точки зрения [out] vpz координата z точки зрения
- Примечание
- Этот метод возвращает текущую используемую точку зрения для переворота нормали. Если точка зрения задана вручную с помощью метода setViewPoint, этот метод вернёт координаты заданной точки зрения. Если задано облако входных данных, он вернёт координаты источника датчика; в противном случае вернёт координаты начала координат (0, 0, 0)
Определение в строке 285 файла integral_image_normal.h.
initData()
| protected |
Инициализировать структуры данных, в зависимости от выбранного метода вычисления нормалей.
Определение в строке 55 файла integral_image_normal.hpp.
Используется в pcl::IntegralImageNormalEstimation< PointInT, PointOutT >::setInputCloud().
setBorderPolicy()
| inline |
Устанавливает политику обработки границ.
- Parameters
-
[in] border_policy политика обработки границ.
Определение в строке 152 файла integral_image_normal.h.
setDepthDependentSmoothing()
| inline |
Установить, использовать ли сглаживание, зависящее от глубины.
- Parameters
-
[in] use_depth_dependent_smoothing определяет, зависит ли сглаживание от глубины
Определение в строке 223 файла integral_image_normal.h.
setInputCloud()
| inlineoverride |
Указать указатель на входные данные (переопределяет метод PCLBase::setInputCloud)
- Parameters
-
[in] cloud постоянный boost shared pointer к сообщению PointCloud
Определение в строке 232 файла integral_image_normal.h.
Ссылается на pcl::IntegralImageNormalEstimation< PointInT, PointOutT >::initData() и pcl::PCLBase< PointInT >::input_.
Используется в pcl::HarrisKeypoint6D< PointInT, PointOutT, NormalT >::detectKeypoints(), pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::initCompute(), pcl::ISSKeypoint3D< PointInT, PointOutT, NormalT >::initCompute(), pcl::SUSANKeypoint< PointInT, PointOutT, NormalT, IntensityT >::initCompute() и pcl::TrajkovicKeypoint3D< PointInT, PointOutT, NormalT >::initCompute().
setMaxDepthChangeFactor()
| inline |
Пороговое значение изменения глубины для вычисления границ объектов.
- Parameters
-
[in] max_depth_change_factor пороговое значение изменения глубины для вычисления границ объектов на основе изменений глубины
Определение в строке 180 файла integral_image_normal.h.
setNormalEstimationMethod()
| inline |
Установить метод оценки нормалей.
В настоящее время реализованы следующие алгоритмы:
- COVARIANCE_MATRIX - создаёт 9 интегральных изображений для вычисления нормали для определённой точки из ковариационной матрицы её локального окружения.
- AVERAGE_3D_GRADIENT - создаёт 6 интегральных изображений для вычисления сглаженных версий горизонтальных и вертикальных 3D градиентов и вычисляет нормали, используя векторное произведение этих двух градиентов.
- AVERAGE_DEPTH_CHANGE - создаёт только одно интегральное изображение и вычисляет нормали из средних изменений глубины.
- Параметры
-
[in] normal_estimation_method используемый метод оценки нормалей
Определение в строке 214 файла integral_image_normal.h.
Используется в pcl::HarrisKeypoint6D< PointInT, PointOutT, NormalT >::detectKeypoints(), pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::initCompute(), pcl::ISSKeypoint3D< PointInT, PointOutT, NormalT >::initCompute(), pcl::SUSANKeypoint< PointInT, PointOutT, NormalT, IntensityT >::initCompute() и pcl::TrajkovicKeypoint3D< PointInT, PointOutT, NormalT >::initCompute().
setNormalSmoothingSize()
| inline |
Установить размер сглаживания нормалей.
- Параметры
-
[in] normal_smoothing_size фактор, влияющий на размер области, используемой для сглаживания нормалей (зависит от глубины, если useDepthDependentSmoothing равен true)
Определение в строке 190 файла integral_image_normal.h.
Ссылается на pcl::Feature< PointInT, PointOutT >::feature_name_.
Используется в pcl::HarrisKeypoint6D< PointInT, PointOutT, NormalT >::detectKeypoints(), pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::initCompute(), pcl::ISSKeypoint3D< PointInT, PointOutT, NormalT >::initCompute(), pcl::SUSANKeypoint< PointInT, PointOutT, NormalT, IntensityT >::initCompute() и pcl::TrajkovicKeypoint3D< PointInT, PointOutT, NormalT >::initCompute().
setRectSize()
| inline |
Установить размер области, рассматриваемой для оценки нормалей.
- Параметры
-
[in] width ширина поискового прямоугольника [in] height высота поискового прямоугольника
Определение в строке 92 файла integral_image_normal.hpp.
setViewPoint()
| inline |
Установить точку обзора.
- Параметры
-
vpx координата X точки обзора vpy координата Y точки обзора vpz координата Z точки обзора
Определение в строке 268 файла integral_image_normal.h.
useSensorOriginAsViewPoint()
| inline |
Устанавливает, следует ли использовать начало координат датчика или заданную пользователем точку обзора.
После вызова данного метода метод оценки нормалей использует начало координат датчика входного облака точек. Для использования пользователем заданной точки обзора, используйте метод setViewPoint.
Определение в строке 297 файла integral_image_normal.h.
Ссылается на pcl::PCLBase< PointInT >::input_.
The documentation for this class was generated from the following files:
- pcl/features/integral_image_normal.h
- pcl/features/impl/integral_image_normal.hpp
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_integral_image_normal_estimation.html