Spec-Zone.ru › PointCloudLibrary

SampleConsensusModelNormalPlane определяет модель для сегментации 3D плоскостей с использованием дополнительных ограничений нормали поверхности. Подробнее...

#include <pcl/sample_consensus/sac_model_normal_plane.h>

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

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

using PointCloud = typename SampleConsensusModel< PointT >::PointCloud
using PointCloudPtr = typename SampleConsensusModel< PointT >::PointCloudPtr
using PointCloudConstPtr = typename SampleConsensusModel< PointT >::PointCloudConstPtr
using PointCloudNPtr = typename SampleConsensusModelFromNormals< PointT, PointNT >::PointCloudNPtr
using PointCloudNConstPtr = typename SampleConsensusModelFromNormals< PointT, PointNT >::PointCloudNConstPtr
using Ptr = shared_ptr< SampleConsensusModelNormalPlane< PointT, PointNT > >
using ConstPtr = shared_ptr< const SampleConsensusModelNormalPlane< PointT, PointNT > >
- Общедоступные типы, унаследованные от pcl::SampleConsensusModelPlane< PointT >
using PointCloud = typename SampleConsensusModel< PointT >::PointCloud
using PointCloudPtr = typename SampleConsensusModel< PointT >::PointCloudPtr
using PointCloudConstPtr = typename SampleConsensusModel< PointT >::PointCloudConstPtr
using Ptr = shared_ptr< SampleConsensusModelPlane< PointT > >
using ConstPtr = shared_ptr< const SampleConsensusModelPlane< PointT > >
- Общедоступные типы, унаследованные от pcl::SampleConsensusModel< PointT >
using PointCloud = pcl::PointCloud< PointT >
using PointCloudConstPtr = typename PointCloud::ConstPtr
using PointCloudPtr = typename PointCloud::Ptr
using SearchPtr = typename pcl::search::Search< PointT >::Ptr
using Ptr = shared_ptr< SampleConsensusModel< PointT > >
using ConstPtr = shared_ptr< const SampleConsensusModel< PointT > >
- Общие типы, унаследованные от pcl::SampleConsensusModelFromNormals< PointT, PointNT >
using PointCloudNConstPtr = typename pcl::PointCloud< PointNT >::ConstPtr
using PointCloudNPtr = typename pcl::PointCloud< PointNT >::Ptr
using Ptr = shared_ptr< SampleConsensusModelFromNormals< PointT, PointNT > >
using ConstPtr = shared_ptr< const SampleConsensusModelFromNormals< PointT, PointNT > >

Открытые члены-функции

SampleConsensusModelNormalPlane (const PointCloudConstPtr &cloud, bool random=false)
Конструктор для базового класса SampleConsensusModelNormalPlane. Подробнее...
SampleConsensusModelNormalPlane (const PointCloudConstPtr &cloud, const Indices &indices, bool random=false)
Конструктор для базового класса SampleConsensusModelNormalPlane. Подробнее...
~SampleConsensusModelNormalPlane () override=default
Пустой деструктор. Подробнее...
void selectWithinDistance (const Eigen::VectorXf &model_coefficients, const double threshold, Indices &inliers) override
Выбрать все точки, которые соответствуют заданным коэффциентам модели в качестве инлайнеров. Подробнее...
std::size_t countWithinDistance (const Eigen::VectorXf &model_coefficients, const double threshold) const override
Подсчитать все точки, которые соответствуют заданным коэффциентам модели в качестве инлайнеров. Подробнее...
void getDistancesToModel (const Eigen::VectorXf &model_coefficients, std::vector< double > &distances) const override
Вычислить все расстояния от данных облака до заданной модели плоскости. Подробнее...
pcl::SacModel getModelType () const override
Возвратить уникальный идентификатор для этой модели (SACMODEL_NORMAL_PLANE). Подробнее...
- Открытые члены-функции, унаследованные от pcl::SampleConsensusModelPlane< PointT >
SampleConsensusModelPlane (const PointCloudConstPtr &cloud, bool random=false)
Конструктор для базового класса SampleConsensusModelPlane. Подробнее...
SampleConsensusModelPlane (const PointCloudConstPtr &cloud, const Indices &indices, bool random=false)
Конструктор для базового класса SampleConsensusModelPlane. Подробнее...
~SampleConsensusModelPlane () override=default
Пустой деструктор. Подробнее...
bool computeModelCoefficients (const Indices &samples, Eigen::VectorXf &model_coefficients) const override
Проверить, могут ли заданные индексные образцы образовать действительную модель плоскости, вычислить коэффциенты модели из этих образцов и сохранить их во внутренней модели_coefficients_. Подробнее...
void getDistancesToModel (const Eigen::VectorXf &model_coefficients, std::vector< double > &distances) const override
Вычислить все расстояния от данных облака до заданной модели плоскости. Подробнее...
void selectWithinDistance (const Eigen::VectorXf &model_coefficients, const double threshold, Indices &inliers) override
Выбрать все точки, которые соответствуют заданным коэффициентам модели как инлиеры. Подробнее...
std::size_t countWithinDistance (const Eigen::VectorXf &model_coefficients, const double threshold) const override
Подсчитать все точки, которые соответствуют заданным коэффициентам модели как инлиеры. Подробнее...
void optimizeModelCoefficients (const Indices &inliers, const Eigen::VectorXf &model_coefficients, Eigen::VectorXf &optimized_coefficients) const override
Пересчитать коэффициенты плоскости с использованием заданного набора инлиеров и вернуть их пользователю. Подробнее...
void projectPoints (const Indices &inliers, const Eigen::VectorXf &model_coefficients, PointCloud &projected_points, bool copy_data_fields=true) const override
Создать новый облако точек с инлиерами, спроектированными на модель плоскости. Подробнее...
bool doSamplesVerifyModel (const std::set< index_t > &indices, const Eigen::VectorXf &model_coefficients, const double threshold) const override
Проверить, удовлетворяет ли подмножество индексов заданным коэффициентам модели плоскости. Подробнее...
pcl::SacModel getModelType () const override
Возвращает уникальный идентификатор для этой модели (SACMODEL_PLANE). Подробнее...
- Public Member Functions inherited from pcl::SampleConsensusModel< PointT >
SampleConsensusModel (const PointCloudConstPtr &cloud, bool random=false)
Конструктор базового класса SampleConsensusModel. Подробнее...
SampleConsensusModel (const PointCloudConstPtr &cloud, const Indices &indices, bool random=false)
Конструктор базового класса SampleConsensusModel. Подробнее...
virtual ~SampleConsensusModel ()=default
Деструктор базового класса SampleConsensusModel. Подробнее...
virtual void getSamples (int &iterations, Indices &samples)
Получить набор случайных выборок данных и вернуть их как индексы точек. Подробнее...
virtual void setInputCloud (const PointCloudConstPtr &cloud)
Предоставить указатель на входной набор данных. Подробнее...
PointCloudConstPtr getInputCloud () const
Получить указатель на набор входных точек. Подробнее...
void setIndices (const IndicesPtr &indices)
Указать указатель на вектор индексов, представляющих входные данные. Подробнее...
void setIndices (const Indices &indices)
Указать вектор индексов, представляющих входные данные. Подробнее...
IndicesPtr getIndices () const
Получить указатель на вектор индексов. Подробнее...
const std::string & getClassName () const
Получить строковое представление имени класса. Подробнее...
unsigned int getSampleSize () const
Возвращает размер выборки для вычисления модели. Подробнее...
unsigned int getModelSize () const
Возвращает количество коэффициентов в модели. Подробнее...
void setRadiusLimits (const double &min_radius, const double &max_radius)
Установить минимальное и максимальное значение радиуса для модели (применимо к моделям, которые оценивают радиус). Подробнее...
void getRadiusLimits (double &min_radius, double &max_radius) const
Получить минимальное и максимальное значения радиуса, установленные пользователем. Подробнее...
void setModelConstraints (std::function< bool(const Eigen::VectorXf &)> function)
Это позволяет наложить любые ограничения на модель, например, Подробнее...
void setSamplesMaxDist (const double &radius, SearchPtr search)
Установить максимальное расстояние, разрешенное при случайном выборе образцов. Подробнее...
void getSamplesMaxDist (double &radius) const
Получить максимальное разрешенное расстояние при случайном выборе образцов. Подробнее...
double computeVariance (const std::vector< double > &error_sqr_dists) const
Вычислить дисперсию ошибок модели. Подробнее...
double computeVariance () const
Вычислить дисперсию ошибок модели по внутренне оценённому вектору расстояний. Подробнее...
- Публичные члены-функции унаследованные от pcl::SampleConsensusModelFromNormals< PointT, PointNT >
SampleConsensusModelFromNormals ()
Пустой конструктор для базового класса SampleConsensusModelFromNormals. Подробнее...
virtual ~SampleConsensusModelFromNormals ()=default
Деструктор. Подробнее...
void setNormalDistanceWeight (const double w)
Установить вес нормального углового расстояния. Подробнее...
double getNormalDistanceWeight () const
Получить вес нормального углового расстояния. Подробнее...
void setInputNormals (const PointCloudNConstPtr &normals)
Предоставить указатель на входные данные, содержащие нормали точек XYZ набора данных. Подробнее...
PointCloudNConstPtr getInputNormals () const
Получить указатель на нормали входного набора данных точек XYZ. Подробнее...

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

std::size_t countWithinDistanceStandard (const Eigen::VectorXf &model_coefficients, const double threshold, std::size_t i=0) const
Это реализация не использует SIMD-инструкции. Подробнее...
- Защищенные члены-функции, унаследованные от pcl::SampleConsensusModelPlane< PointT >
std::size_t countWithinDistanceStandard (const Eigen::VectorXf &model_coefficients, const double threshold, std::size_t i=0) const
Эта реализация не использует SIMD-инструкции. Подробнее...
- Защищенные члены-функции, унаследованные от pcl::SampleConsensusModel< PointT >
SampleConsensusModel (bool random=false)
Пустой конструктор для базового класса SampleConsensusModel. Подробнее...
void drawIndexSample (Indices &sample)
Заполняет массив выборок случайными образцами из вектора indices_. Подробнее...
void drawIndexSampleRadius (Indices &sample)
Заполняет массив выборок одной случайной выборкой из вектора indices_ и другими случайными выборками, которые ближе, чем samples_radius_. Подробнее...
virtual bool isModelValid (const Eigen::VectorXf &model_coefficients) const
Проверяет, является ли модель допустимой в соответствии с ограничениями пользователя. Подробнее...
int rnd ()
Генератор случайных чисел на основе Boost. Подробнее...

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

- Защищенные атрибуты, унаследованные от pcl::SampleConsensusModel< PointT >
std::string model_name_
Имя модели. Подробнее...
PointCloudConstPtr input_
Указатель на boost shared, ссылающийся на массив данных облака точек. Подробнее...
IndicesPtr indices_
Указатель на вектор индексов точек для использования. Подробнее...
double radius_min_
Минимальные и максимальные пределы радиуса для модели. Подробнее...
double radius_max_
double samples_radius_
Максимальное расстояние последующих выборок от первой (поиск по радиусу) Подробнее...
SearchPtr samples_radius_search_
Объект поиска для выбора последующих выборок с помощью поиска по радиусу. Подробнее...
Indices shuffled_indices_
Данные, содержащие перемешанную версию индексов. Подробнее...
boost::mt19937 rng_alg_
Алгоритм генератора псевдослучайных чисел Boost. Подробнее...
std::shared_ptr< boost::uniform_int<> > rng_dist_
Распределение генератора псевдослучайных чисел Boost. Подробнее...
std::shared_ptr< boost::variate_generator< boost::mt19937 &, boost::uniform_int<> > > rng_gen_
Генератор псевдослучайных чисел Boost. Подробнее...
std::vector< double > error_sqr_dists_
Вектор, содержащий расстояния до вычисленных моделей. Подробнее...
unsigned int sample_size_
Размер выборки, из которой вычисляется модель. Подробнее...
unsigned int model_size_
Количество коэффициентов в модели. Подробнее...
std::function< bool(const Eigen::VectorXf &)> custom_model_constraints_
Функция, определённая пользователем, которая принимает коэффициенты модели и возвращает, является ли модель приемлемой. Подробнее...
- Защищённые атрибуты, унаследованные от pcl::SampleConsensusModelFromNormals< PointT, PointNT >
double normal_distance_weight_
Относительный вес (от 0 до 1), придаваемый угловому расстоянию (от 0 до π/2) между нормалями к точкам и нормалью к плоскости. Подробнее...
PointCloudNConstPtr normals_
Указатель на входной набор данных, содержащий нормали точек набора данных XYZ. Подробнее...
- Статические защищённые атрибуты, унаследованные от pcl::SampleConsensusModel< PointT >
static const unsigned int max_sample_checks_ = 1000
Максимальное количество попыток выбора образцов до получения подходящего. Подробнее...

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

шаблон<typename PointT, typename PointNT>
класс pcl::SampleConsensusModelNormalPlane< PointT, PointNT >

SampleConsensusModelNormalPlane определяет модель для сегментации 3D-плоскостей с использованием дополнительных ограничений на нормали к поверхности.

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

Коэффициенты модели определяются как:

  • a : координата X нормали к плоскости (нормализовано)
  • b : координата Y нормали к плоскости (нормализовано)
  • c : координата Z нормали к плоскости (нормализовано)
  • d : четвёртый компонент уравнения плоскости

Для настройки влияния нормалей поверхности на оценку соответствий установите вес нормали (0,0-1,0), например:

SampleConsensusModelNormalPlane<pcl::PointXYZ, pcl::Normal> sac_model;
...
sac_model.setNormalDistanceWeight (0.1);
...
Автор
Раду Б. Русу и Джаред Гловер

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

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

ConstPtr

шаблон<typename PointT , typename PointNT >
используя pcl::SampleConsensusModelNormalPlane< PointT, PointNT >::ConstPtr = shared_ptr<const SampleConsensusModelNormalPlane<PointT, PointNT> >

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

PointCloud

шаблон<typename PointT , typename PointNT >
используя pcl::SampleConsensusModelNormalPlane< PointT, PointNT >::PointCloud = typename SampleConsensusModel<PointT>::PointCloud

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

PointCloudConstPtr

шаблон<typename PointT , typename PointNT >
используя pcl::SampleConsensusModelNormalPlane< PointT, PointNT >::PointCloudConstPtr = typename SampleConsensusModel<PointT>::PointCloudConstPtr

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

PointCloudNConstPtr

шаблон<typename PointT , typename PointNT >
используя pcl::SampleConsensusModelNormalPlane< PointT, PointNT >::PointCloudNConstPtr = typename SampleConsensusModelFromNormals<PointT, PointNT>::PointCloudNConstPtr

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

PointCloudNPtr

template<typename PointT , typename PointNT >
using pcl::SampleConsensusModelNormalPlane< PointT, PointNT >::PointCloudNPtr = typename SampleConsensusModelFromNormals<PointT, PointNT>::PointCloudNPtr

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

PointCloudPtr

template<typename PointT , typename PointNT >
using pcl::SampleConsensusModelNormalPlane< PointT, PointNT >::PointCloudPtr = typename SampleConsensusModel<PointT>::PointCloudPtr

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

Ptr

template<typename PointT , typename PointNT >
using pcl::SampleConsensusModelNormalPlane< PointT, PointNT >::Ptr = shared_ptr<SampleConsensusModelNormalPlane<PointT, PointNT> >

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

Конструктор и деструктор

SampleConsensusModelNormalPlane() [1/2]

template<typename PointT , typename PointNT >
pcl::SampleConsensusModelNormalPlane< PointT, PointNT >::SampleConsensusModelNormalPlane ( const PointCloudConstPtr & cloud,
bool random = false
)
inline

Конструктор базового класса SampleConsensusModelNormalPlane.

Параметры
[вход] cloud набор входных точек облака
[вход] random если true, устанавливает псевдослучайное числовое зерно текущего времени; иначе устанавливает значение 12345 (по умолчанию: false)

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

Ссылки на pcl::SampleConsensusModel< PointT >::model_name_, pcl::SampleConsensusModel< PointT >::model_size_ и pcl::SampleConsensusModel< PointT >::sample_size_.

SampleConsensusModelNormalPlane() [2/2]

template<typename PointT , typename PointNT >
pcl::SampleConsensusModelNormalPlane< PointT, PointNT >::SampleConsensusModelNormalPlane ( const PointCloudConstPtr & cloud,
const Indices & indices,
bool random = false
)
inline

Конструктор базового класса SampleConsensusModelNormalPlane.

Параметры
[вход] cloud набор входных точек облака
[вход] indices вектор индексов точек, которые следует использовать из cloud
[вход] random если true, устанавливает псевдослучайное числовое зерно текущего времени; иначе устанавливает значение 12345 (по умолчанию: false)

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

Ссылки на pcl::SampleConsensusModel< PointT >::model_name_, pcl::SampleConsensusModel< PointT >::model_size_ и pcl::SampleConsensusModel< PointT >::sample_size_.

~SampleConsensusModelNormalPlane()

template<typename PointT , typename PointNT >
pcl::SampleConsensusModelNormalPlane< PointT, PointNT >::~SampleConsensusModelNormalPlane ( )
overridedefault

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

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

countWithinDistance()

template<typename PointT , typename PointNT >
std::size_t pcl::SampleConsensusModelNormalPlane< PointT, PointNT >::countWithinDistance ( const Eigen::VectorXf & model_coefficients,
const double threshold
) const
overridevirtual

Подсчитать все точки, которые соответствуют заданным коэффициентам модели в качестве инлайнеров.

Parameters
[in] model_coefficients коэффициенты модели, для которой требуется вычислить расстояния
[in] threshold максимальное допустимое пороговое значение расстояния для определения инлайнеров от аутлайнеров
Returns
результирующее количество инлайнеров

Реализует pcl::SampleConsensusModel< PointT >.

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

countWithinDistanceStandard()

template<typename PointT , typename PointNT >
std::size_t pcl::SampleConsensusModelNormalPlane< PointT, PointNT >::countWithinDistanceStandard ( const Eigen::VectorXf & model_coefficients,
const double threshold,
std::size_t i = 0
) const
protected

В данной реализации не используются инструкции SIMD.

Не предназначена для обычного использования. См. countWithinDistance, который автоматически использует самую быструю реализацию.

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

Ссылки на pcl::getAngle3D(), и M_PI.

getDistancesToModel()

template<typename PointT , typename PointNT >
void pcl::SampleConsensusModelNormalPlane< PointT, PointNT >::getDistancesToModel ( const Eigen::VectorXf & model_coefficients,
std::vector< double > & distances
) const
overridevirtual

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

Parameters
[in] model_coefficients коэффициенты модели плоскости, для которых требуется вычислить расстояния
[out] distances результирующие рассчитанные расстояния

Реализует pcl::SampleConsensusModel< PointT >.

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

Ссылки на pcl::getAngle3D(), и M_PI.

getModelType()

template<typename PointT , typename PointNT >
pcl::SacModel pcl::SampleConsensusModelNormalPlane< PointT, PointNT >::getModelType ( ) const
inlineoverridevirtual

Возвращает уникальный идентификатор для этой модели (SACMODEL_NORMAL_PLANE).

Реализует pcl::SampleConsensusModel< PointT >.

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

Ссылки на pcl::SACMODEL_NORMAL_PLANE.

selectWithinDistance()

template<typename PointT , typename PointNT >
void pcl::SampleConsensusModelNormalPlane< PointT, PointNT >::selectWithinDistance ( const Eigen::VectorXf & model_coefficients,
const double threshold,
Indices & inliers
)
overridevirtual

Выбрать все точки, которые соответствуют заданным коэффициентам модели в качестве инлайнеров.

Parameters
[in] model_coefficients коэффициенты модели плоскости, для которых требуется вычислить расстояния
[in] threshold максимальное допустимое пороговое значение расстояния для определения инлайнеров от аутлайнеров
[out] inliers результирующие инлайнеры модели

Реализует pcl::SampleConsensusModel< PointT >.

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

Ссылки на pcl::geometry::distance(), pcl::getAngle3D(), и M_PI.


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

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

Spec-Zone.ru

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