Spec-Zone.ru › PointCloudLibrary

BoundaryEstimation оценивает, лежат ли набор точек на границах поверхности, используя критерий угла. Подробнее...

#include <pcl/features/boundary.h>

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

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

using Ptr = shared_ptr< BoundaryEstimation< PointInT, PointNT, PointOutT > >
using ConstPtr = shared_ptr< const BoundaryEstimation< PointInT, PointNT, PointOutT > >
using PointCloudOut = typename Feature< PointInT, PointOutT >::PointCloudOut
- Общедоступные типы, унаследованные от pcl::FeatureFromNormals< PointInT, PointNT, PointOutT >
using PointCloudN = pcl::PointCloud< PointNT >
using PointCloudNPtr = typename PointCloudN::Ptr
using PointCloudNConstPtr = typename PointCloudN::ConstPtr
using Ptr = shared_ptr< FeatureFromNormals< PointInT, PointNT, PointOutT > >
using ConstPtr = shared_ptr< const FeatureFromNormals< 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

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

BoundaryEstimation ()
Конструктор без параметров. Подробнее...
bool isBoundaryPoint (const pcl::PointCloud< PointInT > &cloud, int q_idx, const pcl::Indices &indices, const Eigen::Vector4f &u, const Eigen::Vector4f &v, const float angle_threshold)
Проверка, является ли точка границей в плоском участке проекционных точек, заданных индексами. Подробнее...
bool isBoundaryPoint (const pcl::PointCloud< PointInT > &cloud, const PointInT &q_point, const pcl::Indices &indices, const Eigen::Vector4f &u, const Eigen::Vector4f &v, const float angle_threshold)
Проверка, является ли точка границей в плоском участке проекционных точек, заданных индексами. Подробнее...
void setAngleThreshold (float angle)
Установить пороговое значение угла для определения границ. Подробнее...
float getAngleThreshold ()
Получить пороговое значение угла, установленное пользователем. Подробнее...
void getCoordinateSystemOnPlane (const PointNT &p_coeff, Eigen::Vector4f &u, Eigen::Vector4f &v)
Получить систему координат u-v-n, лежащую на плоскости, определенной ее нормалью. Подробнее...
- Общедоступные члены-функции унаследованные от pcl::FeatureFromNormals< PointInT, PointNT, PointOutT >
FeatureFromNormals ()
Конструктор без параметров. Подробнее...
void setInputNormals (const PointCloudNConstPtr &normals)
Указать указатель на входные данные, содержащие нормали точек XYZ набора данных. Подробнее...
PointCloudNConstPtr getInputNormals () const
Получить указатель на нормали входного облака точек XYZ. Подробнее...
- Общедоступные члены-функции унаследованные от 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 () Подробнее...
- Public Member Functions inherited from 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::FeatureFromNormals< PointInT, PointNT, PointOutT >
virtual bool initCompute ()
Этот метод должен вызываться перед началом фактического вычисления. Подробнее...
- Защищенные члены-функции, унаследованные от 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 ()
Этот метод должен вызываться после завершения фактического вычисления. Подробнее...

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

float angle_threshold_
Граница принятия решения (пороговое значение угла), которая отмечает точки как граничные или обычные. Подробнее...
- Защищенные атрибуты, унаследованные от pcl::FeatureFromNormals< PointInT, PointNT, PointOutT >
PointCloudNConstPtr normals_
Указатель на входные данные, содержащие нормали к точкам XYZ. Подробнее...
- Защищенные атрибуты, унаследованные от 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::BoundaryEstimation< PointInT, PointNT, PointOutT >

BoundaryEstimation оценивает, лежит ли набор точек на границах поверхности, используя критерий угла.

Код использует оценённые нормали к поверхности в каждой точке входного набора данных.

Вот пример оценки граничных точек для облака точек PointXYZ:

pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>);
// fill in the cloud data here
 
pcl::PointCloud<pcl::Normal>::Ptr normals (new pcl::PointCloud<pcl::Normal>);
// estimate normals and fill in \a normals
 
pcl::PointCloud<pcl::Boundary> boundaries;
pcl::BoundaryEstimation<pcl::PointXYZ, pcl::Normal, pcl::Boundary> est;
est.setInputCloud (cloud);
est.setInputNormals (normals);
est.setRadiusSearch (0.02); // 2cm radius
est.setSearchMethod (typename pcl::search::KdTree<PointXYZ>::Ptr (new pcl::search::KdTree<PointXYZ>)
est.compute (boundaries);
pcl::BoundaryEstimationBoundaryEstimation estimates whether a set of points is lying on surface boundaries using an angle cr...Definition: boundary.h:80
pcl::BoundaryEstimation
BoundaryEstimation estimates whether a set of points is lying on surface boundaries using an angle cr...
Definition: boundary.h:80
pcl::FeatureFromNormals::setInputNormalsvoid setInputNormals(const PointCloudNConstPtr &normals)Provide a pointer to the input dataset that contains the point normals of the XYZ dataset.Definition: feature.h:339
pcl::FeatureFromNormals::setInputNormals
void setInputNormals(const PointCloudNConstPtr &normals)
Provide a pointer to the input dataset that contains the point normals of the XYZ dataset.
Definition: feature.h:339
pcl::Feature::setRadiusSearchvoid setRadiusSearch(double radius)Set the sphere radius that is to be used for determining the nearest neighbors used for the feature e...Definition: feature.h:198
pcl::Feature::setRadiusSearch
void setRadiusSearch(double radius)
Set the sphere radius that is to be used for determining the nearest neighbors used for the feature e...
Definition: feature.h:198
pcl::Feature::setSearchMethodvoid setSearchMethod(const KdTreePtr &tree)Provide a pointer to the search object.Definition: feature.h:164
pcl::Feature::setSearchMethod
void setSearchMethod(const KdTreePtr &tree)
Provide a pointer to the search object.
Definition: feature.h:164
pcl::Feature::computevoid compute(PointCloudOut &output)Base method for feature estimation for all points given in <setInputCloud (), setIndices ()> using th...Definition: feature.hpp:194
pcl::Feature::compute
void compute(PointCloudOut &output)
Base method for feature estimation for all points given in <setInputCloud (), setIndices ()> using th...
Definition: feature.hpp:194
pcl::PCLBase::setInputCloudvirtual void setInputCloud(const PointCloudConstPtr &cloud)Provide a pointer to the input dataset.Definition: pcl_base.hpp:65
pcl::PCLBase::setInputCloud
virtual void setInputCloud(const PointCloudConstPtr &cloud)
Provide a pointer to the input dataset.
Definition: pcl_base.hpp:65
pcl::PointCloud< pcl::PointXYZ >
pcl::PointCloud< pcl::PointXYZ >
pcl::PointCloud::Ptrshared_ptr< PointCloud< PointT > > PtrDefinition: point_cloud.h:413
pcl::PointCloud::Ptr
shared_ptr< PointCloud< PointT > > Ptr
Definition: point_cloud.h:413
pcl::search::KdTreesearch::KdTree is a wrapper class which inherits the pcl::KdTree class for performing search function...Definition: kdtree.h:62
pcl::search::KdTree
search::KdTree is a wrapper class which inherits the pcl::KdTree class for performing search function...
Definition: kdtree.h:62
pcl::search::KdTree::Ptrshared_ptr< KdTree< PointT, Tree > > PtrDefinition: kdtree.h:75
pcl::search::KdTree::Ptr
shared_ptr< KdTree< PointT, Tree > > Ptr
Definition: kdtree.h:75
Внимание
Конвенция для Boundary признаков:
  • если ближайшие соседи точки-запроса не могут быть оценены, то признак границы будет установлен в NaN (не число)
  • невозможно оценить свойство границы для точки, у которой нет конечных 3D-координат. Поэтому любая точка, содержащая данные NaN в x, y или z, будет иметь свойство признака границы, установленное в NaN.
Автор
Radu B. Rusu

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

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

ConstPtr

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

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

PointCloudOut

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

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

Ptr

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

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

Документация конструкторов и деструкторов

BoundaryEstimation()

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

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

Пороговое значение угла angle_threshold_ установлено в M_PI / 2.0.

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

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

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

computeFeature()

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

Оценивает, лежит ли набор точек на границах поверхности, используя критерий угла для всех точек, заданных в <setInputCloud (), setIndices ()>, с помощью поверхности в setSearchSurface () и пространственного локализатора в setSearchMethod ().

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

Реализация pcl::Feature< PointInT, PointOutT >.

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

Ссылка на pcl::isFinite().

getAngleThreshold()

шаблон<typename PointInT , typename PointNT , typename PointOutT >
float pcl::BoundaryEstimation< PointInT, PointNT, PointOutT >::getAngleThreshold ( )
inline

Получить пороговое значение угла (граница принятия решения), установленное пользователем.

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

Ссылка на pcl::BoundaryEstimation< PointInT, PointNT, PointOutT >::angle_threshold_.

getCoordinateSystemOnPlane()

шаблон<typename PointInT , typename PointNT , typename PointOutT >
void pcl::BoundaryEstimation< PointInT, PointNT, PointOutT >::getCoordinateSystemOnPlane ( const PointNT & p_coeff,
Eigen::Vector4f & u,
Eigen::Vector4f & v
)
inline

Получить систему координат u-v-n, которая лежит на плоскости, определённой её нормалью.

Параметры
[in] p_coeff коэффициенты плоскости (содержащие нормаль к плоскости)
[out] u результирующее направление u
[out] v результирующее направление v

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

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

isBoundaryPoint() [1/2]

template<typename PointInT , typename PointNT , typename PointOutT >
bool pcl::BoundaryEstimation< PointInT, PointNT, PointOutT >::isBoundaryPoint ( const pcl::PointCloud< PointInT > & облако,
const PointInT & q_точка,
const pcl::Indices & индексы,
const Eigen::Vector4f & u,
const Eigen::Vector4f & v,
const float пороговый_угол
)

Проверка, является ли точка границей в плоском фрагменте спроецированных точек, заданных индексами.

Примечание
Система координат u-v-n должна быть вычислена предварительно с помощью getCoordinateSystemOnPlane
Параметры
[вход] облако указатель на входное облако точек
[вход] q_точка указатель на точку запроса
[вход] индексы оцененные соседние точки точки запроса
[вход] u направление u
[вход] v направление v
[вход] пороговый_угол пороговый угол (по умолчанию $\pi / 2.0$)

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

Ссылки на M_PI.

isBoundaryPoint() [2/2]

template<typename PointInT , typename PointNT , typename PointOutT >
bool pcl::BoundaryEstimation< PointInT, PointNT, PointOutT >::isBoundaryPoint ( const pcl::PointCloud< PointInT > & облако,
int q_индекс,
const pcl::Indices & индексы,
const Eigen::Vector4f & u,
const Eigen::Vector4f & v,
const float пороговый_угол
)

Проверка, является ли точка границей в плоском фрагменте спроецированных точек, заданных индексами.

Примечание
Система координат u-v-n должна быть вычислена предварительно с помощью getCoordinateSystemOnPlane
Параметры
[вход] облако указатель на входное облако точек
[вход] q_индекс индекс точки запроса в облаке
[вход] индексы оцененные соседние точки точки запроса
[вход] u направление u
[вход] v направление v
[вход] пороговый_угол пороговый угол (по умолчанию $\pi / 2.0$)

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

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

setAngleThreshold()

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::BoundaryEstimation< PointInT, PointNT, PointOutT >::setAngleThreshold ( float угол )
inline

Установить пороговое значение угла (граница принятия решения), которая определяет точки как граничные или обычные.

(по умолчанию $\pi / 2.0$)

Параметры
[вход] угол пороговое значение угла

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

Ссылки на pcl::BoundaryEstimation< PointInT, PointNT, PointOutT >::angle_threshold_.

Member Data Documentation

angle_threshold_

template<typename PointInT , typename PointNT , typename PointOutT >
float pcl::BoundaryEstimation< PointInT, PointNT, PointOutT >::angle_threshold_
protected

Пороговое значение угла (граница принятия решения), которая определяет точки как граничные или обычные.

(по умолчанию $\pi / 2.0$)

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

Используется в pcl::BoundaryEstimation< PointInT, PointNT, PointOutT >::getAngleThreshold() и pcl::BoundaryEstimation< PointInT, PointNT, PointOutT >::setAngleThreshold().


The documentation for this class was generated from the following files:
  • pcl/features/boundary.h
  • pcl/features/impl/boundary.hpp

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

Spec-Zone.ru

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