Spec-Zone.ru › PointCloudLibrary

NormalEstimation оценивает локальные свойства поверхности (нормали поверхности и кривизны) в каждой 3D точке. Подробнее...

#include <pcl/features/normal_3d.h>

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

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

using Указатель = shared_ptr< NormalEstimation< PointInT, PointOutT > >
using УказательConst = shared_ptr< const NormalEstimation< PointInT, PointOutT > >
using ТочкаОблакоВыход = typename Feature< PointInT, PointOutT >::ТочкаОблакоВыход
using ТочкаОблакоConstУказатель = typename Feature< PointInT, PointOutT >::ТочкаОблакоConstУказатель
- Общедоступные типы, унаследованные от pcl::Feature< PointInT, PointOutT >
using БазовыйКласс = PCLBase< PointInT >
using Указатель = shared_ptr< Feature< PointInT, PointOutT > >
using УказательConst = shared_ptr< const Feature< PointInT, PointOutT > >
using ДеревоKd = pcl::search::Search< PointInT >
using УказательДереваKd = typename KdTree::Ptr
using ТочкаОблакоВход = pcl::PointCloud< PointInT >
using УказательТочкаОблакоВход = typename PointCloudIn::Ptr
using ТочкаОблакоВходConstУказатель = typename PointCloudIn::ConstPtr
using ТочкаОблакоВыход = pcl::PointCloud< PointOutT >
using МетодПоиска = std::function< int(std::size_t, double, pcl::Indices &, std::vector< float > &)>
using МетодПоискаПоверхности = std::function< int(const ТочкаОблакоВход &cloud, std::size_t index, double, pcl::Indices &, std::vector< float > &)>
- Общедоступные типы, унаследованные от pcl::PCLBase< PointInT >
using ТочкаОблако = pcl::PointCloud< PointInT >
using УказательТочкаОблако = typename PointCloud::Ptr
using ТочкаОблакоConstУказатель = typename PointCloud::ConstPtr
using УказательИндексовТочек = PointIndices::Ptr
using УказательИндексовТочекConst = PointIndices::ConstPtr

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

NormalEstimation ()
Конструктор по умолчанию. Подробнее...
~NormalEstimation () override=default
Деструктор по умолчанию. Подробнее...
bool computePointNormal (const pcl::PointCloud< PointInT > &cloud, const pcl::Indices &indices, Eigen::Vector4f &plane_parameters, float &curvature)
Вычисление плоскости наименьших квадратов для заданного набора точек, используя их индексы, и возвращение оценок параметров плоскости вместе с кривизной поверхности. Подробнее...
bool computePointNormal (const pcl::PointCloud< PointInT > &cloud, const pcl::Indices &indices, float &nx, float &ny, float &nz, float &curvature)
Вычисление плоскости наименьших квадратов для заданного набора точек, используя их индексы, и возвращение оценок параметров плоскости вместе с кривизной поверхности. Подробнее...
void setInputCloud (const PointCloudConstPtr &cloud) override
Укажите указатель на входные данные. Подробнее...
void setViewPoint (float vpx, float vpy, float vpz)
Установить точку обзора. Подробнее...
void getViewPoint (float &vpx, float &vpy, float &vpz)
Получить точку обзора. Подробнее...
void useSensorOriginAsViewPoint ()
Устанавливает, следует ли использовать исходную точку датчика или указанную пользователем точку обзора. Подробнее...
- Общедоступные члены-функции унаследованные от 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[] для сокращения кода. Подробнее...

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

void computeFeature (PointCloudOut &output) override
Оценить нормали для всех точек, указанных в <setInputCloud (), setIndices ()>, используя поверхность в setSearchSurface () и пространственный локатор в setSearchMethod () Подробнее...
- Защищенные члены функций, унаследованные от pcl::Feature< PointInT, PointOutT >
const std::string & getClassName () const
Получить строковое представление имени этого класса. Подробнее...
virtual bool initCompute ()
Этот метод должен вызываться перед началом фактического вычисления. Подробнее...
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 ()
Этот метод должен вызываться после завершения фактического вычисления. Подробнее...

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

float vpx_
Значения, описывающие точку обзора ("модель камеры с точечным отверстием"). Подробнее...
float vpy_
float vpz_
EIGEN_ALIGN16 Eigen::Matrix3f covariance_matrix_
Заполнитель для матрицы ковариации 3x3 в каждом фрагменте поверхности. Подробнее...
Eigen::Vector4f xyz_centroid_
Заполнитель с выравниванием на 16 байт для центральной точки XYZ фрагмента поверхности. Подробнее...
bool use_sensor_origin_
использовать ли начальную точку датчика входного облака или заданную пользователем точку обзора. Подробнее...
- Защищенные атрибуты, унаследованные от 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 PointOutT>
класс pcl::NormalEstimation< PointInT, PointOutT >

NormalEstimation оценивает локальные свойства поверхности (нормали поверхности и кривизны) для каждой 3D точки.

Если PointOutT указан как pcl::Normal, нормаль хранится в первых 3 компонентах (0-2), а кривизна — в компоненте 3.

Примечание
Код является состоятельным, поскольку мы не ожидаем, что этот класс будет многоядерно параллелизован. Обратитесь к NormalEstimationOMP для параллельной реализации.
Автор
Radu B. Rusu

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

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

ConstPtr

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

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

PointCloudConstPtr

шаблон<typename PointInT , typename PointOutT >
используя pcl::NormalEstimation< PointInT, PointOutT >::PointCloudConstPtr = typename Feature<PointInT, PointOutT>::PointCloudConstPtr

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

PointCloudOut

шаблон<typename PointInT , typename PointOutT >
используя pcl::NormalEstimation< PointInT, PointOutT >::PointCloudOut = typename Feature<PointInT, PointOutT>::PointCloudOut

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

Ptr

шаблон<typename PointInT , typename PointOutT >
используя pcl::NormalEstimation< PointInT, PointOutT >::Ptr = shared_ptr<NormalEstimation<PointInT, PointOutT> >

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

Конструктор & Деструктор

NormalEstimation()

шаблон<typename PointInT , typename PointOutT >
pcl::NormalEstimation< PointInT, PointOutT >::NormalEstimation ( )
inline

Пустой конструктор.

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

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

~NormalEstimation()

шаблон<typename PointInT , typename PointOutT >
pcl::NormalEstimation< PointInT, PointOutT >::~NormalEstimation ( )
overridedefault

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

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

computeFeature()

шаблон<typename PointInT , typename PointOutT >
void pcl::NormalEstimation< PointInT, PointOutT >::computeFeature ( PointCloudOut & output )
overrideprotectedvirtual

Вычисление нормалей для всех точек, заданных в <setInputCloud (), setIndices ()>, используя поверхность в setSearchSurface () и пространственный локатор в setSearchMethod ()

Примечание
В ситуациях, когда недостаточно соседей, значения нормали и кривизны устанавливаются в NaN.
Параметры
output результирующее облако точек, содержащее нормали поверхности и кривизны

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

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

Ссылки на pcl::computePointNormal(), pcl::flipNormalTowardsViewpoint(), pcl::PointCloud< PointT >::is_dense и pcl::isFinite().

computePointNormal() [1/2]

template<typename PointInT , typename PointOutT >
bool pcl::NormalEstimation< PointInT, PointOutT >::computePointNormal ( const pcl::PointCloud< PointInT > & облако,
const pcl::Indices & индексы,
Eigen::Vector4f & параметры_плоскости,
float & кривизна
)
inline

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

Параметры
облако входное облако точек
индексы индексы точек облака точек, которые необходимо использовать
параметры_плоскости параметры плоскости: a, b, c, d (ax + by + cz + d = 0)
кривизна оценённая кривизна поверхности как мера

\[ \lambda_0 / (\lambda_0 + \lambda_1 + \lambda_2) \]

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

Ссылки на pcl::computeMeanAndCovarianceMatrix(), pcl::NormalEstimation< PointInT, PointOutT >::covariance_matrix_, pcl::solvePlaneParameters() и pcl::NormalEstimation< PointInT, PointOutT >::xyz_centroid_.

computePointNormal() [2/2]

template<typename PointInT , typename PointOutT >
bool pcl::NormalEstimation< PointInT, PointOutT >::computePointNormal ( const pcl::PointCloud< PointInT > & облако,
const pcl::Indices & индексы,
float & nx,
float & ny,
float & nz,
float & кривизна
)
inline

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

Параметры
облако входное облако точек
индексы индексы точек облака точек, которые необходимо использовать
nx результирующая X-компонента нормали к плоскости
ny результирующая Y-компонента нормали к плоскости
nz результирующая Z-компонента нормали к плоскости
кривизна оценённая кривизна поверхности как мера

\[ \lambda_0 / (\lambda_0 + \lambda_1 + \lambda_2) \]

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

Ссылки на pcl::computeMeanAndCovarianceMatrix(), pcl::NormalEstimation< PointInT, PointOutT >::covariance_matrix_, pcl::solvePlaneParameters() и pcl::NormalEstimation< PointInT, PointOutT >::xyz_centroid_.

getViewPoint()

template<typename PointInT , typename PointOutT >
void pcl::NormalEstimation< PointInT, PointOutT >::getViewPoint ( float & vpx,
float & vpy,
float & vpz
)
inline

Получить точку обзора.

Параметры
[out] vpx координата x точки обзора
[out] vpy координата y точки обзора
[out] vpz координата z точки обзора
Примечание
Этот метод возвращает текущую точку обзора, используемую для переворачивания нормалей. Если точка обзора задана вручную с помощью метода setViewPoint, этот метод вернёт координаты заданной точки обзора. Если задано входное облако, он вернёт координаты сенсора, иначе вернёт координаты начала координат (0, 0, 0)

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

Ссылки на pcl::NormalEstimation< PointInT, PointOutT >::vpx_, pcl::NormalEstimation< PointInT, PointOutT >::vpy_ и pcl::NormalEstimation< PointInT, PointOutT >::vpz_.

setInputCloud()

template<typename PointInT , typename PointOutT >
void pcl::NormalEstimation< PointInT, PointOutT >::setInputCloud ( const PointCloudConstPtr & cloud )
inlineoverride

Предоставьте указатель на входной набор данных.

Параметры
cloud указатель на постоянный общий указатель boost на сообщение PointCloud

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

Ссылки на pcl::PCLBase< PointInT >::input_, pcl::NormalEstimation< PointInT, PointOutT >::use_sensor_origin_, pcl::NormalEstimation< PointInT, PointOutT >::vpx_, pcl::NormalEstimation< PointInT, PointOutT >::vpy_, и pcl::NormalEstimation< PointInT, PointOutT >::vpz_.

Используется в pcl::UnaryClassifier< PointT >::computeFPFH(), pcl::Hough3DGrouping< PointModelT, PointSceneT, PointModelRfT, PointSceneRfT >::computeRf(), pcl::HarrisKeypoint6D< PointInT, PointOutT, NormalT >::detectKeypoints(), pcl::gpu::DataSource::estimateNormals(), pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::initCompute(), pcl::ISSKeypoint3D< PointInT, PointOutT, NormalT >::initCompute(), и pcl::SUSANKeypoint< PointInT, PointOutT, NormalT, IntensityT >::initCompute().

setViewPoint()

template<typename PointInT , typename PointOutT >
void pcl::NormalEstimation< PointInT, PointOutT >::setViewPoint ( float vpx,
float vpy,
float vpz
)
inline

Установить точку обзора.

Параметры
vpx координата X точки обзора
vpy координата Y точки обзора
vpz координата Z точки обзора

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

Ссылки на pcl::NormalEstimation< PointInT, PointOutT >::use_sensor_origin_, pcl::NormalEstimation< PointInT, PointOutT >::vpx_, pcl::NormalEstimation< PointInT, PointOutT >::vpy_, и pcl::NormalEstimation< PointInT, PointOutT >::vpz_.

useSensorOriginAsViewPoint()

template<typename PointInT , typename PointOutT >
void pcl::NormalEstimation< PointInT, PointOutT >::useSensorOriginAsViewPoint ( )
inline

устанавливает, использовать ли исходную точку сенсора или заданную пользователем точку обзора.

После этого метода метод вычисления нормалей использует исходную точку сенсора входного облака. Чтобы использовать заданную пользователем точку обзора, используйте метод setViewPoint.

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

Ссылки на pcl::PCLBase< PointInT >::input_, pcl::NormalEstimation< PointInT, PointOutT >::use_sensor_origin_, pcl::NormalEstimation< PointInT, PointOutT >::vpx_, pcl::NormalEstimation< PointInT, PointOutT >::vpy_, и pcl::NormalEstimation< PointInT, PointOutT >::vpz_.

Данные членов

covariance_matrix_

template<typename PointInT , typename PointOutT >
EIGEN_ALIGN16 Eigen::Matrix3f pcl::NormalEstimation< PointInT, PointOutT >::covariance_matrix_
protected

Заполнитель для матрицы ковариации 3x3 в каждой области поверхности.

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

Используется в pcl::NormalEstimation< PointInT, PointOutT >::computePointNormal().

use_sensor_origin_

template<typename PointInT , typename PointOutT >
bool pcl::NormalEstimation< PointInT, PointOutT >::use_sensor_origin_
protected

Использовать ли исходную точку сенсора входного облака или заданную пользователем точку обзора.

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

Используется в pcl::NormalEstimation< PointInT, PointOutT >::setInputCloud(), pcl::NormalEstimation< PointInT, PointOutT >::setViewPoint(), и pcl::NormalEstimation< PointInT, PointOutT >::useSensorOriginAsViewPoint().

vpx_

template<typename PointInT , typename PointOutT >
float pcl::NormalEstimation< PointInT, PointOutT >::vpx_
protected

Значения, описывающие точку обзора («модель камеры с иголочным отверстием»).

Для точек обзора по точкам, наследуйтесь от NormalEstimation и предоставьте собственный computeFeature (). По умолчанию точка обзора установлена в 0,0,0.

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

Используется в pcl::NormalEstimation< PointInT, PointOutT >::getViewPoint(), pcl::NormalEstimation< PointInT, PointOutT >::setInputCloud(), pcl::NormalEstimation< PointInT, PointOutT >::setViewPoint() и pcl::NormalEstimation< PointInT, PointOutT >::useSensorOriginAsViewPoint().

vpy_

template<typename PointInT , typename PointOutT >
float pcl::NormalEstimation< PointInT, PointOutT >::vpy_
protected

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

Используется в pcl::NormalEstimation< PointInT, PointOutT >::getViewPoint(), pcl::NormalEstimation< PointInT, PointOutT >::setInputCloud(), pcl::NormalEstimation< PointInT, PointOutT >::setViewPoint() и pcl::NormalEstimation< PointInT, PointOutT >::useSensorOriginAsViewPoint().

vpz_

template<typename PointInT , typename PointOutT >
float pcl::NormalEstimation< PointInT, PointOutT >::vpz_
protected

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

Используется в pcl::NormalEstimation< PointInT, PointOutT >::getViewPoint(), pcl::NormalEstimation< PointInT, PointOutT >::setInputCloud(), pcl::NormalEstimation< PointInT, PointOutT >::setViewPoint() и pcl::NormalEstimation< PointInT, PointOutT >::useSensorOriginAsViewPoint().

xyz_centroid_

template<typename PointInT , typename PointOutT >
Eigen::Vector4f pcl::NormalEstimation< PointInT, PointOutT >::xyz_centroid_
protected

Зарезервированный блок размером 16 байт для центральной точки XYZ участка поверхности.

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

Используется в pcl::NormalEstimation< PointInT, PointOutT >::computePointNormal().


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

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

Spec-Zone.ru

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