NormalEstimation оценивает локальные свойства поверхности (нормали поверхности и кривизны) в каждой 3D точке. Подробнее...
#include <pcl/features/normal_3d.h>
Общедоступные типы | |
| 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Указатель |
|
| |
| 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 > &)> |
|
| |
| 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 () |
| Устанавливает, следует ли использовать исходную точку датчика или указанную пользователем точку обзора. Подробнее... |
|
|
| |
| 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 |
| Оценить нормали для всех точек, указанных в <setInputCloud (), setIndices ()>, используя поверхность в setSearchSurface () и пространственный локатор в setSearchMethod () Подробнее... |
|
|
| |
| 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. Подробнее... |
|
|
| |
| 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_ |
| использовать ли начальную точку датчика входного облака или заданную пользователем точку обзора. Подробнее... |
|
|
| |
| 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::NormalEstimation< PointInT, PointOutT >
NormalEstimation оценивает локальные свойства поверхности (нормали поверхности и кривизны) для каждой 3D точки.
Если PointOutT указан как pcl::Normal, нормаль хранится в первых 3 компонентах (0-2), а кривизна — в компоненте 3.
- Примечание
- Код является состоятельным, поскольку мы не ожидаем, что этот класс будет многоядерно параллелизован. Обратитесь к NormalEstimationOMP для параллельной реализации.
Определение в строке 243 файла normal_3d.h.
Документация по типам-членам
ConstPtr
| используя pcl::NormalEstimation< PointInT, PointOutT >::ConstPtr = shared_ptr<const NormalEstimation<PointInT, PointOutT> > |
Определение в строке 247 файла normal_3d.h.
PointCloudConstPtr
| используя pcl::NormalEstimation< PointInT, PointOutT >::PointCloudConstPtr = typename Feature<PointInT, PointOutT>::PointCloudConstPtr |
Определение в строке 258 файла normal_3d.h.
PointCloudOut
| используя pcl::NormalEstimation< PointInT, PointOutT >::PointCloudOut = typename Feature<PointInT, PointOutT>::PointCloudOut |
Определение в строке 257 файла normal_3d.h.
Ptr
| используя pcl::NormalEstimation< PointInT, PointOutT >::Ptr = shared_ptr<NormalEstimation<PointInT, PointOutT> > |
Определение в строке 246 файла normal_3d.h.
Конструктор & Деструктор
NormalEstimation()
| inline |
Пустой конструктор.
Определение в строке 261 файла normal_3d.h.
Ссылки на pcl::Feature< PointInT, PointOutT >::feature_name_.
~NormalEstimation()
| overridedefault |
Пустой деструктор.
Документация по функциям-членам
computeFeature()
| 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]
| inline |
Вычислить наименьшее-квадратичное приближение плоскости для заданного набора точек, используя их индексы, и вернуть полученные параметры плоскости вместе с кривизной поверхности.
- Параметры
-
облако входное облако точек индексы индексы точек облака точек, которые необходимо использовать параметры_плоскости параметры плоскости: a, b, c, d (ax + by + cz + d = 0) кривизна оценённая кривизна поверхности как мера
Определение в строке 284 файла normal_3d.h.
Ссылки на pcl::computeMeanAndCovarianceMatrix(), pcl::NormalEstimation< PointInT, PointOutT >::covariance_matrix_, pcl::solvePlaneParameters() и pcl::NormalEstimation< PointInT, PointOutT >::xyz_centroid_.
computePointNormal() [2/2]
| inline |
Вычислить наименьшее-квадратичное приближение плоскости для заданного набора точек, используя их индексы, и вернуть полученные параметры плоскости вместе с кривизной поверхности.
- Параметры
-
облако входное облако точек индексы индексы точек облака точек, которые необходимо использовать nx результирующая X-компонента нормали к плоскости ny результирующая Y-компонента нормали к плоскости nz результирующая Z-компонента нормали к плоскости кривизна оценённая кривизна поверхности как мера
Определение в строке 313 файла normal_3d.h.
Ссылки на pcl::computeMeanAndCovarianceMatrix(), pcl::NormalEstimation< PointInT, PointOutT >::covariance_matrix_, pcl::solvePlaneParameters() и pcl::NormalEstimation< PointInT, PointOutT >::xyz_centroid_.
getViewPoint()
| 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()
| 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()
| 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()
| 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_
| protected |
Заполнитель для матрицы ковариации 3x3 в каждой области поверхности.
Определение в строке 409 файла normal_3d.h.
Используется в pcl::NormalEstimation< PointInT, PointOutT >::computePointNormal().
use_sensor_origin_
| protected |
Использовать ли исходную точку сенсора входного облака или заданную пользователем точку обзора.
Определение в строке 415 файла normal_3d.h.
Используется в pcl::NormalEstimation< PointInT, PointOutT >::setInputCloud(), pcl::NormalEstimation< PointInT, PointOutT >::setViewPoint(), и pcl::NormalEstimation< PointInT, PointOutT >::useSensorOriginAsViewPoint().
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_
| 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_
| 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_
| 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