Spec-Zone.ru › PointCloudLibrary

Класс уточнения нормали Подробнее...

#include <pcl/filters/normal_refinement.h>

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

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

NormalRefinement ()
Пустой конструктор, устанавливает параметры сходимости по умолчанию. Подробнее...
NormalRefinement (const std::vector< Indices > &k_indices, const std::vector< std::vector< float > > &k_sqr_distances)
Конструктор для установки соответствий, устанавливает параметры сходимости по умолчанию. Подробнее...
void setCorrespondences (const std::vector< Indices > &k_indices, const std::vector< std::vector< float > > &k_sqr_distances)
Установить соответствия, вычисленные с помощью поиска ближайших соседей. Подробнее...
void getCorrespondences (std::vector< Indices > &k_indices, std::vector< std::vector< float > > &k_sqr_distances)
Получить соответствия (копировать) Подробнее...
void setMaxIterations (unsigned int max_iterations)
Установить максимальное количество итераций. Подробнее...
unsigned int getMaxIterations ()
Получить максимальное количество итераций. Подробнее...
void setConvergenceThreshold (float convergence_threshold)
Установить порог сходимости. Подробнее...
float getConvergenceThreshold ()
Получить порог сходимости. Подробнее...
- Общедоступные члены-функции, унаследованные от pcl::Filter< NormalT >
Filter (bool extract_removed_indices=false)
Пустой конструктор. Подробнее...
IndicesConstPtr const getRemovedIndices () const
Получить индексы точек, которые удаляются. Подробнее...
void getRemovedIndices (PointIndices &pi)
Получить индексы точек, которые удаляются. Подробнее...
void filter (PointCloud &output)
Вызывает метод фильтрации и возвращает отфильтрованный набор данных в output. Подробнее...
- Общедоступные члены-функции, унаследованные от pcl::PCLBase< PointT >
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 PointT & operator[] (std::size_t pos) const
Переопределить PointCloud operator[] для сокращения кода. Подробнее...

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

void applyFilter (PointCloud &output) override
Фильтр облака точек. Подробнее...
- Защищенные члены функций унаследованные от pcl::Filter< NormalT >
const std::string & getClassName () const
Получить строковое представление имени этого класса. Подробнее...
- Защищенные члены функций унаследованные от pcl::PCLBase< PointT >
bool initCompute ()
Этот метод должен вызываться перед запуском фактического вычисления. Подробнее...
bool deinitCompute ()
Этот метод должен вызываться после завершения фактического вычисления. Подробнее...

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

- Публичные типы, унаследованные от pcl::Filter< NormalT >
using Ptr = shared_ptr< Filter< NormalT > >
using ConstPtr = shared_ptr< const Filter< NormalT > >
using PointCloud = pcl::PointCloud< NormalT >
using PointCloudPtr = typename PointCloud::Ptr
using PointCloudConstPtr = typename PointCloud::ConstPtr
- Публичные типы, унаследованные от pcl::PCLBase< PointT >
using PointCloud = pcl::PointCloud< PointT >
using PointCloudPtr = typename PointCloud::Ptr
using PointCloudConstPtr = typename PointCloud::ConstPtr
using PointIndicesPtr = PointIndices::Ptr
using PointIndicesConstPtr = PointIndices::ConstPtr
- Защищенные атрибуты, унаследованные от pcl::Filter< NormalT >
IndicesPtr removed_indices_
Индексы точек, которые были удалены. Подробнее...
std::string filter_name_
Имя фильтра. Подробнее...
bool extract_removed_indices_
Установить в значение true, если нужно вернуть индексы удалённых точек. Подробнее...
- Защищенные атрибуты, унаследованные от pcl::PCLBase< PointT >
PointCloudConstPtr input_
Входной набор точек. Подробнее...
IndicesPtr indices_
Указатель на вектор индексов точек для использования. Подробнее...
bool use_indices_
Установлено в true, если используются индексы точек. Подробнее...
bool fake_indices_
Если набор индексов не задан, мы создаём набор фиктивных индексов, имитирующих входной PointCloud. Подробнее...

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

шаблон<typename NormalT>
класс pcl::NormalRefinement< NormalT >

Класс уточнения векторов нормалей

Этот класс уточняет набор уже оценённых нормалей, итеративно обновляя каждую нормаль до (взвешенного) среднего значения всех нормалей в её окрестности. Цель — повторное использование тех же соответствий точек, что и при оценке исходных нормалей, чтобы избежать повторного поиска ближайших соседей.

Примечание
Этот класс игнорирует точки, для которых в окрестности встречается NaN. В особых случаях, когда у точки только NaN в окрестности, результирующая уточнённая нормаль устанавливается в ноль, т. е. этот класс генерирует только конечные нормали.

Пример использования:

// Input point cloud
pcl::PointCloud<PointT> cloud;
 
// Fill cloud...
 
// Estimated and refined normals
pcl::PointCloud<NormalT> normals;
pcl::PointCloud<NormalT> normals_refined;
 
// Search parameters
const int k = 5;
std::vector<Indices > k_indices;
std::vector<std::vector<float> > k_sqr_distances;
 
// Run search
pcl::search::KdTree<pcl::PointXYZRGB> search;
search.setInputCloud (cloud.makeShared ());
search.nearestKSearch (cloud, Indices (), k, k_indices, k_sqr_distances);
 
// Use search results for normal estimation
pcl::NormalEstimation<PointT, NormalT> ne;
for (unsigned int i = 0; i < cloud.size (); ++i)
{
 NormalT normal;
 ne.computePointNormal (cloud, k_indices[i]
 normal.normal_x, normal.normal_y, normal.normal_z, normal.curvature);
 pcl::flipNormalTowardsViewpoint (cloud[i], cloud.sensor_origin_[0], cloud.sensor_origin_[1], cloud.sensor_origin_[2],
 normal.normal_x, normal.normal_y, normal.normal_z);
 normals.push_back (normal);
}
 
// Run refinement using search results
pcl::NormalRefinement<NormalT> nr (k_indices, k_sqr_distances);
nr.setInputCloud (normals.makeShared ());
nr.filter (normals_refined);
pcl::NormalEstimationNormalEstimation estimates local surface properties (surface normals and curvatures)at each 3D point.Definition: normal_3d.h:244
pcl::NormalEstimation
NormalEstimation estimates local surface properties (surface normals and curvatures)at each 3D point.
Definition: normal_3d.h:244
pcl::NormalEstimation::computePointNormalbool computePointNormal(const pcl::PointCloud< PointInT > &cloud, const pcl::Indices &indices, Eigen::Vector4f &plane_parameters, float &curvature)Compute the Least-Squares plane fit for a given set of points, using their indices,...Definition: normal_3d.h:284
pcl::NormalEstimation::computePointNormal
bool computePointNormal(const pcl::PointCloud< PointInT > &cloud, const pcl::Indices &indices, Eigen::Vector4f &plane_parameters, float &curvature)
Compute the Least-Squares plane fit for a given set of points, using their indices,...
Definition: normal_3d.h:284
pcl::NormalRefinementNormal vector refinement classDefinition: normal_refinement.h:191
pcl::NormalRefinement
Normal vector refinement class
Definition: normal_refinement.h:191
pcl::PointCloudPointCloud represents the base class in PCL for storing collections of 3D points.Definition: point_cloud.h:173
pcl::PointCloud
PointCloud represents the base class in PCL for storing collections of 3D points.
Definition: point_cloud.h:173
pcl::PointCloud::push_backvoid push_back(const PointT &pt)Insert a new point in the cloud, at the end of the container.Definition: point_cloud.h:663
pcl::PointCloud::push_back
void push_back(const PointT &pt)
Insert a new point in the cloud, at the end of the container.
Definition: point_cloud.h:663
pcl::PointCloud::sizestd::size_t size() constDefinition: point_cloud.h:443
pcl::PointCloud::size
std::size_t size() const
Definition: point_cloud.h:443
pcl::PointCloud::sensor_origin_Eigen::Vector4f sensor_origin_Sensor acquisition pose (origin/translation).Definition: point_cloud.h:406
pcl::PointCloud::sensor_origin_
Eigen::Vector4f sensor_origin_
Sensor acquisition pose (origin/translation).
Definition: point_cloud.h:406
pcl::PointCloud::makeSharedPtr makeShared() constCopy the cloud to the heap and return a smart pointer Note that deep copy is performed,...Definition: point_cloud.h:898
pcl::PointCloud::makeShared
Ptr makeShared() const
Copy the cloud to the heap and return a smart pointer Note that deep copy is performed,...
Definition: point_cloud.h:898
pcl::search::KdTree< pcl::PointXYZRGB >
pcl::search::KdTree< pcl::PointXYZRGB >
pcl::search::KdTree::nearestKSearchint nearestKSearch(const PointT &point, int k, Indices &k_indices, std::vector< float > &k_sqr_distances) const overrideSearch for the k-nearest neighbors for the given query point.Definition: kdtree.hpp:87
pcl::search::KdTree::nearestKSearch
int nearestKSearch(const PointT &point, int k, Indices &k_indices, std::vector< float > &k_sqr_distances) const override
Search for the k-nearest neighbors for the given query point.
Definition: kdtree.hpp:87
pcl::search::KdTree::setInputCloudvoid setInputCloud(const PointCloudConstPtr &cloud, const IndicesConstPtr &indices=IndicesConstPtr()) overrideProvide a pointer to the input dataset.Definition: kdtree.hpp:76
pcl::search::KdTree::setInputCloud
void setInputCloud(const PointCloudConstPtr &cloud, const IndicesConstPtr &indices=IndicesConstPtr()) override
Provide a pointer to the input dataset.
Definition: kdtree.hpp:76
pcl::flipNormalTowardsViewpointvoid flipNormalTowardsViewpoint(const PointT &point, float vp_x, float vp_y, float vp_z, Eigen::Matrix< Scalar, 4, 1 > &normal)Flip (in place) the estimated normal of a point towards a given viewpoint.Definition: normal_3d.h:122
pcl::flipNormalTowardsViewpoint
void flipNormalTowardsViewpoint(const PointT &point, float vp_x, float vp_y, float vp_z, Eigen::Matrix< Scalar, 4, 1 > &normal)
Flip (in place) the estimated normal of a point towards a given viewpoint.
Definition: normal_3d.h:122
pcl::IndicesIndicesAllocator<> IndicesType used for indices in PCL.Definition: types.h:133
pcl::Indices
IndicesAllocator<> Indices
Type used for indices in PCL.
Definition: types.h:133
pcl::_Normal::curvaturefloat curvatureDefinition: point_types.hpp:809
pcl::_Normal::curvature
float curvature
Definition: point_types.hpp:809
pcl::NormalA point structure representing normal coordinates and the surface curvature estimate.Definition: point_types.hpp:821
pcl::Normal
A point structure representing normal coordinates and the surface curvature estimate.
Definition: point_types.hpp:821
Автор
Anders Glent Buch

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

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

NormalRefinement() [1/2]

шаблон<typename NormalT >
pcl::NormalRefinement< NormalT >::NormalRefinement ( )
inline

Пустой конструктор, устанавливает параметры сходимости по умолчанию.

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

Ссылки на pcl::Filter< NormalT >::filter_name_, pcl::NormalRefinement< NormalT >::setConvergenceThreshold(), и pcl::NormalRefinement< NormalT >::setMaxIterations().

NormalRefinement() [2/2]

шаблон<typename NormalT >
pcl::NormalRefinement< NormalT >::NormalRefinement ( const std::vector< Indices > & k_indices,
const std::vector< std::vector< float > > & k_sqr_distances
)
inline

Конструктор для установки соответствий, устанавливает параметры сходимости по умолчанию.

Параметры
k_indices индексы соседних точек
k_sqr_distances квадраты расстояний до соседних точек

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

Ссылки на pcl::Filter< NormalT >::filter_name_, pcl::NormalRefinement< NormalT >::setConvergenceThreshold(), pcl::NormalRefinement< NormalT >::setCorrespondences(), и pcl::NormalRefinement< NormalT >::setMaxIterations().

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

applyFilter()

шаблон<typename NormalT >
void pcl::NormalRefinement< NormalT >::applyFilter ( PointCloud & output )
overrideprotectedvirtual

Фильтр облака точек.

Параметры
output сообщение результирующего облака точек

Реализует pcl::Filter< NormalT >.

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

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

getConvergenceThreshold()

шаблон<typename NormalT >
float pcl::NormalRefinement< NormalT >::getConvergenceThreshold ( )
inline

Получить порог сходимости.

Возвращает
порог сходимости

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

getCorrespondences()

шаблон<typename NormalT >
void pcl::NormalRefinement< NormalT >::getCorrespondences ( std::vector< Indices > & k_indices,
std::vector< std::vector< float > > & k_sqr_distances
)
inline

Получить соответствия (копию)

Параметры
k_indices индексы соседних точек
k_sqr_distances квадраты расстояний до соседних точек

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

getMaxIterations()

шаблон<typename NormalT >
unsigned int pcl::NormalRefinement< NormalT >::getMaxIterations ( )
inline

Получить максимальное количество итераций.

Возвращает
максимальное количество итераций

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

setConvergenceThreshold()

template<typename NormalT >
void pcl::NormalRefinement< NormalT >::setConvergenceThreshold ( float convergence_threshold )
inline

Установить порог сходимости.

Параметры
convergence_threshold порог сходимости

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

Используется в pcl::NormalRefinement< NormalT >::NormalRefinement().

setCorrespondences()

template<typename NormalT >
void pcl::NormalRefinement< NormalT >::setCorrespondences ( const std::vector< Indices > & k_indices,
const std::vector< std::vector< float > > & k_sqr_distances
)
inline

Установить соответствия, рассчитанные с помощью поиска ближайших соседей.

Параметры
k_indices индексы соседних точек
k_sqr_distances квадраты расстояний до соседних точек

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

Используется в pcl::NormalRefinement< NormalT >::NormalRefinement().

setMaxIterations()

template<typename NormalT >
void pcl::NormalRefinement< NormalT >::setMaxIterations ( unsigned int max_iterations )
inline

Установить максимальное количество итераций.

Параметры
max_iterations максимальное количество итераций

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

Используется в pcl::NormalRefinement< NormalT >::NormalRefinement().


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

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

Spec-Zone.ru

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