Spec-Zone.ru › PointCloudLibrary

SampleConsensusModelPlane определяет модель для сегментации 3D плоскостей. Подробнее...

#include <pcl/sample_consensus/sac_model_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 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 > >

Публичные функции-члены

SampleConsensusModelPlane (const PointCloudConstPtr &cloud, bool random=false)
Конструктор для базового SampleConsensusModelPlane. More...
SampleConsensusModelPlane (const PointCloudConstPtr &cloud, const Indices &indices, bool random=false)
Конструктор для базового SampleConsensusModelPlane. More...
~SampleConsensusModelPlane () override=default
Пустой деструктор. More...
bool computeModelCoefficients (const Indices &samples, Eigen::VectorXf &model_coefficients) const override
Проверить, могут ли заданные индексные образцы образовать валидную модель плоскости, вычислить коэффициенты модели из этих образцов и сохранить их внутренне в model_coefficients_. More...
void getDistancesToModel (const Eigen::VectorXf &model_coefficients, std::vector< double > &distances) const override
Вычислить все расстояния от данных облака до заданной модели плоскости. More...
void selectWithinDistance (const Eigen::VectorXf &model_coefficients, const double threshold, Indices &inliers) override
Выбрать все точки, которые соответствуют заданным коэффициентам модели как внутренние. More...
std::size_t countWithinDistance (const Eigen::VectorXf &model_coefficients, const double threshold) const override
Подсчитать все точки, которые соответствуют заданным коэффициентам модели как внутренние. More...
void optimizeModelCoefficients (const Indices &inliers, const Eigen::VectorXf &model_coefficients, Eigen::VectorXf &optimized_coefficients) const override
Пересчитать коэффициенты плоскости, используя заданный набор внутренних точек, и вернуть их пользователю. More...
void projectPoints (const Indices &inliers, const Eigen::VectorXf &model_coefficients, PointCloud &projected_points, bool copy_data_fields=true) const override
Создать новое облако точек с внутренними точками, спроецированными на модель плоскости. More...
bool doSamplesVerifyModel (const std::set< index_t > &indices, const Eigen::VectorXf &model_coefficients, const double threshold) const override
Проверить, проверяет ли подмножество индексов заданные коэффициенты модели плоскости. More...
pcl::SacModel getModelType () const override
Вернуть уникальный идентификатор для этой модели (SACMODEL_PLANE). More...
- Публичные функции-члены, унаследованные от pcl::SampleConsensusModel< PointT >
SampleConsensusModel (const PointCloudConstPtr &cloud, bool random=false)
Конструктор для базового SampleConsensusModel. More...
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
Вычислить дисперсию ошибок относительно модели из внутренней оценки вектора расстояний. Подробнее...

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

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_
Указатель на данные массива облака точек с постоянным доступом. Подробнее...
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::SampleConsensusModel< PointT >
static const unsigned int max_sample_checks_ = 1000
Максимальное количество проб выборок, прежде чем получить подходящую. Подробнее...

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

template<typename PointT>
class pcl::SampleConsensusModelPlane< PointT >

SampleConsensusModelPlane определяет модель для сегментации 3D-плоскостей.

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

  • a : координата X нормали плоскости (нормализована)
  • b : координата Y нормали плоскости (нормализована)
  • c : координата Z нормали плоскости (нормализована)
  • d : четвертая компонента Гессе уравнения плоскости
Автор
Radu B. Rusu

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

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

ConstPtr

template<typename PointT >
using pcl::SampleConsensusModelPlane< PointT >::ConstPtr = shared_ptr<const SampleConsensusModelPlane<PointT> >

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

PointCloud

template<typename PointT >
using pcl::SampleConsensusModelPlane< PointT >::PointCloud = typename SampleConsensusModel<PointT>::PointCloud

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

PointCloudConstPtr

template<typename PointT >
using pcl::SampleConsensusModelPlane< PointT >::PointCloudConstPtr = typename SampleConsensusModel<PointT>::PointCloudConstPtr

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

PointCloudPtr

template<typename PointT >
using pcl::SampleConsensusModelPlane< PointT >::PointCloudPtr = typename SampleConsensusModel<PointT>::PointCloudPtr

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

Ptr

template<typename PointT >
using pcl::SampleConsensusModelPlane< PointT >::Ptr = shared_ptr<SampleConsensusModelPlane<PointT> >

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

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

SampleConsensusModelPlane() [1/2]

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

Конструктор для базового класса SampleConsensusModelPlane.

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

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

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

SampleConsensusModelPlane() [2/2]

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

Конструктор для базового класса SampleConsensusModelPlane.

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

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

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

~SampleConsensusModelPlane()

template<typename PointT >
pcl::SampleConsensusModelPlane< PointT >::~SampleConsensusModelPlane ( )
overridedefault

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

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

computeModelCoefficients()

template<typename PointT >
bool pcl::SampleConsensusModelPlane< PointT >::computeModelCoefficients ( const Indices & samples,
Eigen::VectorXf & model_coefficients
) const
overridevirtual

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

Коэффициенты плоскости: a, b, c, d (ax+by+cz+d=0)

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

Реализация pcl::SampleConsensusModel< PointT >.

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

countWithinDistance()

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

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

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

Реализация pcl::SampleConsensusModel< PointT >.

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

countWithinDistanceStandard()

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

Эта реализация не использует SIMD-инструкции.

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

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

doSamplesVerifyModel()

template<typename PointT >
bool pcl::SampleConsensusModelPlane< PointT >::doSamplesVerifyModel ( const std::set< index_t > & indices,
const Eigen::VectorXf & model_coefficients,
const double threshold
) const
overridevirtual

Проверка, удовлетворяет ли подмножество индексов заданным коэффициентам модели плоскости.

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

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

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

getDistancesToModel()

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

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

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

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

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

getModelType()

template<typename PointT >
pcl::SacModel pcl::SampleConsensusModelPlane< PointT >::getModelType ( ) const
inlineoverridevirtual

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

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

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

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

optimizeModelCoefficients()

template<typename PointT >
void pcl::SampleConsensusModelPlane< PointT >::optimizeModelCoefficients ( const Indices & inliers,
const Eigen::VectorXf & model_coefficients,
Eigen::VectorXf & optimized_coefficients
) const
overridevirtual

Перевычисление коэффициентов плоскости с использованием заданного набора инлайнеров и возвращение их пользователю.

Примечание
: это коэффициенты модели плоскости после уточнения (например, после SVD)
Параметры
[in] inliers данные инлайнеры, найденные как поддерживающие модель
[in] model_coefficients начальная оценка коэффициентов модели
[out] optimized_coefficients результирующие перевычисленные коэффициенты после нелинейной оптимизации

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

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

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

Ссылка на pcl::people::GroundBasedPeopleDetectionApp< PointT >::compute().

projectPoints()

template<typename PointT >
void pcl::SampleConsensusModelPlane< PointT >::projectPoints ( const Indices & inliers,
const Eigen::VectorXf & model_coefficients,
PointCloud & projected_points,
bool copy_data_fields = true
) const
overridevirtual

Создать новый облако точек с точками-входными данными, спроецированными на плоскость модели.

Параметры
[in] inliers данные-входные данные, которые мы хотим спроецировать на плоскость модели
[in] model_coefficients нормализованные коэффициенты модели плоскости
[out] projected_points полученные спроецированные точки
[in] copy_data_fields значение true, если требуется скопировать другие поля данных

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

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

Ссылки на pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::resize() и pcl::PointCloud< PointT >::width.

Ссылка на pcl::ExtractPolygonalPrismData< PointT >::segment().

selectWithinDistance()

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

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

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

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

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

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

Ссылка на pcl::people::GroundBasedPeopleDetectionApp< PointT >::compute().


Документация для этого класса была сгенерирована из следующих файлов:
  • pcl/sample_consensus/sac_model_plane.h
  • pcl/sample_consensus/impl/sac_model_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_plane.html

Spec-Zone.ru

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