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. Подробнее...
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
Проверяет, могут ли заданные индексы выборки образовать допустимую модель плоскости, вычисляет коэффициенты модели по этой выборке и сохраняет их во внутренней переменной model_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). Подробнее...
- Открытые функции-члены, унаследованные от 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
Вычисляет дисперсию ошибок модели по внутреннему вектору вычисленных расстояний. Подробнее...

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

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 на данные облака точек. Подробнее...
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.

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.

~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.

Используется в pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, pcl::Normal, float >::bruteForceCorrespondences().

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 >.

Определение в строке 191 файла 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, который автоматически выбирает наиболее быструю реализацию.

Определение в строке 211 файла 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 >.

Определение в строке 450 файла 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 >.

Определение в строке 122 файла 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 >.

Определение в строке 312 файла 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 >.

Определение в строке 364 файла 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 >.

Определение в строке 153 файла 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