SampleConsensusModel представляет базовый класс модели. Подробнее...
#include <pcl/sample_consensus/sac_model.h>
Public Types | |
| 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 > > |
Публичные функции-члены | |
| SampleConsensusModel (const PointCloudConstPtr &cloud, bool random=false) | |
| Конструктор для базового класса SampleConsensusModel. More... |
|
| SampleConsensusModel (const PointCloudConstPtr &cloud, const Indices &indices, bool random=false) | |
| Конструктор для базового класса SampleConsensusModel. More... |
|
| virtual | ~SampleConsensusModel ()=default |
| Деструктор для базового класса SampleConsensusModel. More... |
|
| virtual void | getSamples (int &iterations, Indices &samples) |
| Получить набор случайных образцов данных и вернуть их в виде индексов точек. More... |
|
| virtual bool | computeModelCoefficients (const Indices &samples, Eigen::VectorXf &model_coefficients) const =0 |
| Проверить, могут ли заданные индексные образцы образовать валидную модель, вычислить коэффициенты модели из этих образцов и сохранить их в model_coefficients. More... |
|
| virtual void | optimizeModelCoefficients (const Indices &inliers, const Eigen::VectorXf &model_coefficients, Eigen::VectorXf &optimized_coefficients) const =0 |
| Пересчитать коэффициенты модели, используя заданный набор выбросов, и вернуть их пользователю. More... |
|
| virtual void | getDistancesToModel (const Eigen::VectorXf &model_coefficients, std::vector< double > &distances) const =0 |
| Вычислить все расстояния от данных облака до заданной модели. More... |
|
| virtual void | selectWithinDistance (const Eigen::VectorXf &model_coefficients, const double threshold, Indices &inliers)=0 |
| Выбрать все точки, которые соответствуют заданным коэффициентам модели как выбросы. More... |
|
| virtual std::size_t | countWithinDistance (const Eigen::VectorXf &model_coefficients, const double threshold) const =0 |
| Подсчитать все точки, которые соответствуют заданным коэффициентам модели как выбросы. More... |
|
| virtual void | projectPoints (const Indices &inliers, const Eigen::VectorXf &model_coefficients, PointCloud &projected_points, bool copy_data_fields=true) const =0 |
| Создать новое облако точек с выбросами, спроецированными на модель. More... |
|
| virtual bool | doSamplesVerifyModel (const std::set< index_t > &indices, const Eigen::VectorXf &model_coefficients, const double threshold) const =0 |
| Проверить, подтверждает ли подмножество индексов заданный набор коэффициентов модели. More... |
|
| virtual void | setInputCloud (const PointCloudConstPtr &cloud) |
| Предоставить указатель на входной набор данных. More... |
|
| PointCloudConstPtr | getInputCloud () const |
| Получить указатель на входной набор данных облака точек. More... |
|
| void | setIndices (const IndicesPtr &indices) |
| Предоставить указатель на вектор индексов, который представляет входные данные. More... |
|
| void | setIndices (const Indices &indices) |
| Укажите вектор индексов, представляющий входные данные. Подробнее... |
|
| IndicesPtr | getIndices () const |
| Получить указатель на вектор индексов, используемый для модели. Подробнее... |
|
| virtual SacModel | getModelType () const =0 |
| Возвратить уникальный идентификатор каждого типа используемой модели. Подробнее... |
|
| 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 |
| Вычислить дисперсию ошибок до модели из внутренней оценки вектора расстояний. Подробнее... |
|
Защищенные члены функций | |
| 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 |
| Проверка, является ли модель валидной с учетом пользовательских ограничений. Подробнее... |
|
| virtual bool | isSampleGood (const Indices &samples) const =0 |
| Проверка, является ли выборка индексов хорошей выборкой индексов точек. Подробнее... |
|
| int | rnd () |
| Генератор случайных чисел на основе Boost. Подробнее... |
|
Защищенные атрибуты | |
| 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_ |
| Пользовательская функция, которая принимает коэффициенты модели и возвращает, является ли модель приемлемой. Подробнее... |
|
Статические защищенные атрибуты | |
| static const unsigned int | max_sample_checks_ = 1000 |
| Максимальное количество попыток выбора образцов, пока не будет найден подходящий. Подробнее... |
|
Друзья | |
| class | ProgressiveSampleConsensus< PointT > |
Подробное описание
template<typename PointT>
class pcl::SampleConsensusModel< PointT >
SampleConsensusModel представляет базовый класс модели.
Все модели согласия выборки должны наследоваться от этого класса.
Определение в строке 69 файла sac_model.h.
Документация типов typedef членов
ConstPtr
| using pcl::SampleConsensusModel< PointT >::ConstPtr = shared_ptr<const SampleConsensusModel<PointT> > |
Определение в строке 78 файла sac_model.h.
PointCloud
| using pcl::SampleConsensusModel< PointT >::PointCloud = pcl::PointCloud<PointT> |
Определение в строке 72 файла sac_model.h.
PointCloudConstPtr
| using pcl::SampleConsensusModel< PointT >::PointCloudConstPtr = typename PointCloud::ConstPtr |
Определение в строке 73 файла sac_model.h.
PointCloudPtr
| using pcl::SampleConsensusModel< PointT >::PointCloudPtr = typename PointCloud::Ptr |
Определение в строке 74 файла sac_model.h.
Ptr
| using pcl::SampleConsensusModel< PointT >::Ptr = shared_ptr<SampleConsensusModel<PointT> > |
Определение в строке 77 файла sac_model.h.
SearchPtr
| using pcl::SampleConsensusModel< PointT >::SearchPtr = typename pcl::search::Search<PointT>::Ptr |
Определение в строке 75 файла sac_model.h.
Документация конструктора и деструктора
SampleConsensusModel() [1/3]
| inlineprotected |
Пустой конструктор для базового класса SampleConsensusModel.
- Параметры
-
[in] random если true, установить seed генератора случайных чисел на текущее время, иначе установить на 12345 (по умолчанию: false)
Определение в строке 84 файла sac_model.h.
SampleConsensusModel() [2/3]
| inline |
Конструктор для базового класса SampleConsensusModel.
- Параметры
-
[in] cloud набор входных точек [in] random если true, установить seed генератора случайных чисел на текущее время, иначе установить на 12345 (по умолчанию: false)
Определение в строке 107 файла sac_model.h.
SampleConsensusModel() [3/3]
| inline |
Конструктор базового класса SampleConsensusModel.
- Parameters
-
[in] cloud входное облако точек [in] indices вектор индексов точек для использования из cloud [in] random если true, установить случайное зерно по текущему времени, иначе установить на 12345 (по умолчанию: false)
Определение в строке 133 файла sac_model.h.
~SampleConsensusModel()
| virtualdefault |
Деструктор базового класса SampleConsensusModel.
Описание функции-члена
computeModelCoefficients()
| pure virtual |
Проверить, могут ли данные индексы образцов образовать корректную модель, вычислить коэффициенты модели из этих образцов и сохранить их в model_coefficients.
Чисто виртуальная функция. Реализации этой функции должны быть потокобезопасными.
- Parameters
-
[in] samples индексы точек, найденные в качестве потенциальных кандидатов для создания корректной модели [out] model_coefficients вычисленные коэффициенты модели
Реализовано в pcl::SampleConsensusModelStick< PointT >, pcl::SampleConsensusModelSphere< PointT >, pcl::SampleConsensusModelSphere< pcl::PointXYZRGB >, pcl::SampleConsensusModelRegistration< PointT >, pcl::SampleConsensusModelPlane< PointT >, pcl::SampleConsensusModelLine< PointT >, pcl::SampleConsensusModelEllipse3D< PointT >, pcl::SampleConsensusModelEllipse3D< pcl::PointXYZRGB >, pcl::SampleConsensusModelCylinder< PointT, PointNT >, pcl::SampleConsensusModelCylinder< pcl::PointXYZRGB, PointNT >, pcl::SampleConsensusModelCone< PointT, PointNT >, pcl::SampleConsensusModelCone< pcl::PointXYZRGB, PointNT >, pcl::SampleConsensusModelCircle3D< PointT >, pcl::SampleConsensusModelCircle3D< pcl::PointXYZRGB >, pcl::SampleConsensusModelCircle2D< PointT >, и pcl::SampleConsensusModelCircle2D< pcl::PointXYZRGB >.
computeVariance() [1/2]
| inline |
Вычислить дисперсию ошибок модели по внутренней оценки вектора расстояний.
Модель должна быть вычислена (или по крайней мере вызван selectWithinDistance).
Определение в строке 450 файла sac_model.h.
Ссылки на pcl::SampleConsensusModel< PointT >::error_sqr_dists_.
computeVariance() [2/2]
| inline |
Вычислить дисперсию ошибок модели.
- Parameters
-
[in] error_sqr_dists вектор, содержащий расстояния
Определение в строке 436 файла sac_model.h.
countWithinDistance()
| pure virtual |
Подсчитать все точки, которые соответствуют заданным коэффициентам модели как инлиеры.
Чисто виртуальная функция. Реализации этой функции должны быть потокобезопасными.
- Параметры
-
[in] model_coefficients коэффициенты модели, для которой требуется вычислить расстояния [in] threshold максимальный допустимый порог расстояния для определения инлиеров от аутлиеров
- Возвращает
- результирующее количество инлиеров
Реализовано в pcl::SampleConsensusModelStick< PointT >, pcl::SampleConsensusModelSphere< PointT >, pcl::SampleConsensusModelSphere< pcl::PointXYZRGB >, pcl::SampleConsensusModelRegistration< PointT >, pcl::SampleConsensusModelPlane< PointT >, pcl::SampleConsensusModelPerpendicularPlane< PointT >, pcl::SampleConsensusModelParallelPlane< PointT >, pcl::SampleConsensusModelParallelLine< PointT >, pcl::SampleConsensusModelNormalSphere< PointT, PointNT >, pcl::SampleConsensusModelNormalPlane< PointT, PointNT >, pcl::SampleConsensusModelLine< PointT >, pcl::SampleConsensusModelEllipse3D< PointT >, pcl::SampleConsensusModelEllipse3D< pcl::PointXYZRGB >, pcl::SampleConsensusModelCylinder< PointT, PointNT >, pcl::SampleConsensusModelCylinder< pcl::PointXYZRGB, PointNT >, pcl::SampleConsensusModelCone< PointT, PointNT >, pcl::SampleConsensusModelCone< pcl::PointXYZRGB, PointNT >, pcl::SampleConsensusModelCircle3D< PointT >, pcl::SampleConsensusModelCircle3D< pcl::PointXYZRGB >, pcl::SampleConsensusModelCircle2D< PointT >, pcl::SampleConsensusModelCircle2D< pcl::PointXYZRGB >, и pcl::SampleConsensusModelRegistration2D< PointT >.
doSamplesVerifyModel()
| pure virtual |
Проверить, соответствует ли подмножество индексов заданному набору коэффициентов модели.
Чисто виртуальная функция.
- Параметры
-
[in] indices индексы данных, которые необходимо проверить по модели [in] model_coefficients набор коэффициентов модели [in] threshold максимальный допустимый порог расстояния для определения инлиеров от аутлиеров
Реализовано в pcl::SampleConsensusModelStick< PointT >, pcl::SampleConsensusModelSphere< PointT >, pcl::SampleConsensusModelSphere< pcl::PointXYZRGB >, pcl::SampleConsensusModelPlane< PointT >, pcl::SampleConsensusModelLine< PointT >, pcl::SampleConsensusModelEllipse3D< PointT >, pcl::SampleConsensusModelEllipse3D< pcl::PointXYZRGB >, pcl::SampleConsensusModelCylinder< PointT, PointNT >, pcl::SampleConsensusModelCylinder< pcl::PointXYZRGB, PointNT >, pcl::SampleConsensusModelCone< PointT, PointNT >, pcl::SampleConsensusModelCone< pcl::PointXYZRGB, PointNT >, pcl::SampleConsensusModelCircle3D< PointT >, pcl::SampleConsensusModelCircle3D< pcl::PointXYZRGB >, pcl::SampleConsensusModelCircle2D< PointT >, pcl::SampleConsensusModelCircle2D< pcl::PointXYZRGB >, и pcl::SampleConsensusModelRegistration< PointT >.
drawIndexSample()
| inlineprotected |
Заполняет массив выборки случайными образцами из вектора indices_.
- Параметры
-
[out] sample набор индексов target_, подлежащих анализу
Определение в строке 466 файла sac_model.h.
Ссылки на pcl::SampleConsensusModel< PointT >::rnd() и pcl::SampleConsensusModel< PointT >::shuffled_indices_.
Ссылается на pcl::SampleConsensusModel< PointT >::getSamples().
drawIndexSampleRadius()
| inlineprotected |
Заполняет массив выборок одной случайной выборкой из вектора indices_ и другими случайными выборками, которые находятся ближе, чем samples_radius_.
- Параметры
-
[out] sample набор индексов target_ для анализа
Определение в строке 483 файла sac_model.h.
Ссылки на pcl::SampleConsensusModel< PointT >::input_, pcl::SampleConsensusModel< PointT >::rnd(), pcl::SampleConsensusModel< PointT >::samples_radius_, pcl::SampleConsensusModel< PointT >::samples_radius_search_ и pcl::SampleConsensusModel< PointT >::shuffled_indices_.
Ссылка на pcl::SampleConsensusModel< PointT >::getSamples().
getClassName()
| inline |
Получить строковое представление имени этого класса.
Определение в строке 349 файла sac_model.h.
Ссылки на pcl::SampleConsensusModel< PointT >::model_name_.
Ссылка на pcl::SampleConsensusModel< PointT >::isModelValid().
getDistancesToModel()
| pure virtual |
Вычислить все расстояния от данных облака до заданной модели.
Чисто виртуальная функция.
- Параметры
-
[in] model_coefficients коэффициенты модели, для которой необходимо вычислить расстояния [out] distances результирующие вычисленные расстояния
Реализовано в pcl::SampleConsensusModelStick< PointT >, pcl::SampleConsensusModelSphere< PointT >, pcl::SampleConsensusModelSphere< pcl::PointXYZRGB >, pcl::SampleConsensusModelRegistration< PointT >, pcl::SampleConsensusModelPlane< PointT >, pcl::SampleConsensusModelPerpendicularPlane< PointT >, pcl::SampleConsensusModelParallelPlane< PointT >, pcl::SampleConsensusModelParallelLine< PointT >, pcl::SampleConsensusModelNormalSphere< PointT, PointNT >, pcl::SampleConsensusModelNormalPlane< PointT, PointNT >, pcl::SampleConsensusModelLine< PointT >, pcl::SampleConsensusModelEllipse3D< PointT >, pcl::SampleConsensusModelEllipse3D< pcl::PointXYZRGB >, pcl::SampleConsensusModelCylinder< PointT, PointNT >, pcl::SampleConsensusModelCylinder< pcl::PointXYZRGB, PointNT >, pcl::SampleConsensusModelCone< PointT, PointNT >, pcl::SampleConsensusModelCone< pcl::PointXYZRGB, PointNT >, pcl::SampleConsensusModelCircle3D< PointT >, pcl::SampleConsensusModelCircle3D< pcl::PointXYZRGB >, pcl::SampleConsensusModelCircle2D< PointT >, pcl::SampleConsensusModelCircle2D< pcl::PointXYZRGB >, и pcl::SampleConsensusModelRegistration2D< PointT >.
getIndices()
| inline |
Получить указатель на вектор индексов, используемых в классе.
Определение в строке 341 файла sac_model.h.
getInputCloud()
| inline |
Получить указатель на входное облако точек.
Определение в строке 317 файла sac_model.h.
Ссылки на pcl::SampleConsensusModel< PointT >::input_.
Размер модели()
| inline |
Возвращает количество коэффициентов в модели.
Определение в строке 363 файла sac_model.h.
Тип модели()
| pure virtual |
Возвращает уникальный идентификатор для каждого типа модели.
Реализовано в pcl::SampleConsensusModelStick< PointT >, pcl::SampleConsensusModelSphere< PointT >, pcl::SampleConsensusModelSphere< pcl::PointXYZRGB >, pcl::SampleConsensusModelRegistration< PointT >, pcl::SampleConsensusModelPlane< PointT >, pcl::SampleConsensusModelPerpendicularPlane< PointT >, pcl::SampleConsensusModelParallelPlane< PointT >, pcl::SampleConsensusModelParallelLine< PointT >, pcl::SampleConsensusModelNormalSphere< PointT, PointNT >, pcl::SampleConsensusModelNormalPlane< PointT, PointNT >, pcl::SampleConsensusModelNormalParallelPlane< PointT, PointNT >, pcl::SampleConsensusModelLine< PointT >, pcl::SampleConsensusModelEllipse3D< PointT >, pcl::SampleConsensusModelEllipse3D< pcl::PointXYZRGB >, pcl::SampleConsensusModelCylinder< PointT, PointNT >, pcl::SampleConsensusModelCylinder< pcl::PointXYZRGB, PointNT >, pcl::SampleConsensusModelCone< PointT, PointNT >, pcl::SampleConsensusModelCone< pcl::PointXYZRGB, PointNT >, pcl::SampleConsensusModelCircle3D< PointT >, pcl::SampleConsensusModelCircle3D< pcl::PointXYZRGB >, pcl::SampleConsensusModelCircle2D< PointT >, и pcl::SampleConsensusModelCircle2D< pcl::PointXYZRGB >.
getRadiusLimits()
| inline |
Получить минимальное и максимальное значения радиуса, заданные пользователем для модели.
- Parameters
-
[out] min_radius результирующее минимальное значение радиуса модели [out] max_radius результирующее максимальное значение радиуса модели
Определение в строке 388 файла sac_model.h.
Ссылается на pcl::SampleConsensusModel< PointT >::radius_max_ и pcl::SampleConsensusModel< PointT >::radius_min_.
Используется в pcl::SACSegmentation< PointT >::initSACModel() и pcl::SACSegmentationFromNormals< PointT, PointNT >::initSACModel().
getSamples()
| inlinevirtual |
Получить набор случайных выборок данных и вернуть их как индексы точек.
- Параметры
-
[out] iterations внутреннее количество итераций, используемых методами SAC [out] samples результирующие выборки модели
Определение в строке 173 файла sac_model.h.
Ссылки на pcl::SampleConsensusModel< PointT >::drawIndexSample(), pcl::SampleConsensusModel< PointT >::drawIndexSampleRadius(), pcl::SampleConsensusModel< PointT >::getSampleSize(), pcl::SampleConsensusModel< PointT >::indices_, pcl::SampleConsensusModel< PointT >::isSampleGood(), pcl::SampleConsensusModel< PointT >::max_sample_checks_, и pcl::SampleConsensusModel< PointT >::samples_radius_.
Размер выборки
| inline |
Возвращает размер выборки, из которой вычисляется модель.
Определение в строке 356 файла sac_model.h.
Ссылки на pcl::SampleConsensusModel< PointT >::sample_size_.
Используется в pcl::SampleConsensusModel< PointT >::getSamples().
Получить максимальное расстояние выборки
| inline |
Получить максимальное расстояние, разрешенное при отборе случайных выборок.
- Параметры
-
[out] radius максимальное расстояние (норма L2)
Определение в строке 425 файла sac_model.h.
Ссылки на pcl::SampleConsensusModel< PointT >::samples_radius_.
Является ли модель валидной
| inlineprotectedvirtual |
Проверить, является ли модель валидной с учетом пользовательских ограничений.
Стандартная реализация проверяет, соответствует ли количество коэффициентов в предоставленной модели ожидаемому типу модели SAC. Конкретные модели SAC должны расширить эту функцию, проверив пользовательские ограничения (при необходимости).
- Параметры
-
[in] model_coefficients набор коэффициентов модели
Переопределено в pcl::SampleConsensusModelSphere< PointT >, pcl::SampleConsensusModelSphere< pcl::PointXYZRGB >, pcl::SampleConsensusModelPerpendicularPlane< PointT >, pcl::SampleConsensusModelParallelPlane< PointT >, pcl::SampleConsensusModelParallelLine< PointT >, pcl::SampleConsensusModelNormalParallelPlane< PointT, PointNT >, pcl::SampleConsensusModelEllipse3D< PointT >, pcl::SampleConsensusModelEllipse3D< pcl::PointXYZRGB >, pcl::SampleConsensusModelCylinder< PointT, PointNT >, pcl::SampleConsensusModelCylinder< pcl::PointXYZRGB, PointNT >, pcl::SampleConsensusModelCone< PointT, PointNT >, pcl::SampleConsensusModelCone< pcl::PointXYZRGB, PointNT >, pcl::SampleConsensusModelCircle3D< PointT >, pcl::SampleConsensusModelCircle3D< pcl::PointXYZRGB >, pcl::SampleConsensusModelCircle2D< PointT >, и pcl::SampleConsensusModelCircle2D< pcl::PointXYZRGB >.
Определение в строке 527 файла sac_model.h.
Ссылки на pcl::SampleConsensusModel< PointT >::custom_model_constraints_, pcl::SampleConsensusModel< PointT >::getClassName(), и pcl::SampleConsensusModel< PointT >::model_size_.
isSampleGood()
| protectedpure virtual |
Проверка, является ли выборка индексов хорошей выборкой индексов точек.
Чисто виртуальный метод.
- Параметры
-
[in] samples результирующая выборка индексов
Реализовано в pcl::SampleConsensusModelStick< PointT >, pcl::SampleConsensusModelSphere< PointT >, pcl::SampleConsensusModelSphere< pcl::PointXYZRGB >, pcl::SampleConsensusModelRegistration< PointT >, pcl::SampleConsensusModelLine< PointT >, pcl::SampleConsensusModelEllipse3D< PointT >, pcl::SampleConsensusModelEllipse3D< pcl::PointXYZRGB >, pcl::SampleConsensusModelCylinder< PointT, PointNT >, pcl::SampleConsensusModelCylinder< pcl::PointXYZRGB, PointNT >, pcl::SampleConsensusModelCone< PointT, PointNT >, pcl::SampleConsensusModelCone< pcl::PointXYZRGB, PointNT >, pcl::SampleConsensusModelCircle3D< PointT >, pcl::SampleConsensusModelCircle3D< pcl::PointXYZRGB >, pcl::SampleConsensusModelCircle2D< PointT >, pcl::SampleConsensusModelCircle2D< pcl::PointXYZRGB >, и pcl::SampleConsensusModelRegistration2D< PointT >.
Ссылка на pcl::SampleConsensusModel< PointT >::getSamples().
optimizeModelCoefficients()
| pure virtual |
Пересчитать коэффициенты модели с использованием заданного набора внутренних точек и вернуть их пользователю.
Чисто виртуальный метод.
- Примечание
- : это коэффициенты модели после уточнения (например, после оптимизации методом наименьших квадратов)
- Параметры
-
[in] inliers внутренние точки данных, поддерживающие модель [in] model_coefficients исходное предположение для коэффициентов модели [out] optimized_coefficients результирующие пересчитанные коэффициенты после нелинейной оптимизации
Реализовано в pcl::SampleConsensusModelStick< PointT >, pcl::SampleConsensusModelSphere< PointT >, pcl::SampleConsensusModelSphere< pcl::PointXYZRGB >, pcl::SampleConsensusModelRegistration< PointT >, pcl::SampleConsensusModelPlane< PointT >, pcl::SampleConsensusModelLine< PointT >, pcl::SampleConsensusModelEllipse3D< PointT >, pcl::SampleConsensusModelEllipse3D< pcl::PointXYZRGB >, pcl::SampleConsensusModelCylinder< PointT, PointNT >, pcl::SampleConsensusModelCylinder< pcl::PointXYZRGB, PointNT >, pcl::SampleConsensusModelCone< PointT, PointNT >, pcl::SampleConsensusModelCone< pcl::PointXYZRGB, PointNT >, pcl::SampleConsensusModelCircle3D< PointT >, pcl::SampleConsensusModelCircle3D< pcl::PointXYZRGB >, pcl::SampleConsensusModelCircle2D< PointT >, и pcl::SampleConsensusModelCircle2D< pcl::PointXYZRGB >.
projectPoints()
| pure virtual |
Создать новый облако точек с точками-инлианами, спроецированными на модель.
Чисто виртуальный метод.
- Параметры
-
[in] inliers данные инлианов, которые мы хотим спроецировать на модель [in] model_coefficients коэффициенты модели [out] projected_points результирующие спроецированные точки [in] copy_data_fields установить в true (по умолчанию), если мы хотим, чтобы облако projected_points было точной копией входного набора данных за вычетом проекций точек на плоскостную модель
Реализовано в pcl::SampleConsensusModelStick< PointT >, pcl::SampleConsensusModelSphere< PointT >, pcl::SampleConsensusModelPlane< PointT >, pcl::SampleConsensusModelLine< PointT >, pcl::SampleConsensusModelEllipse3D< PointT >, pcl::SampleConsensusModelCylinder< PointT, PointNT >, pcl::SampleConsensusModelCone< PointT, PointNT >, pcl::SampleConsensusModelCircle3D< PointT >, pcl::SampleConsensusModelCircle2D< PointT >, и pcl::SampleConsensusModelRegistration< PointT >.
rnd()
| inlineprotected |
Генератор случайных чисел на основе Boost.
Определение в строке 595 файла sac_model.h.
Ссылки на pcl::SampleConsensusModel< PointT >::rng_gen_.
Используется в pcl::SampleConsensusModel< PointT >::drawIndexSample() и pcl::SampleConsensusModel< PointT >::drawIndexSampleRadius().
selectWithinDistance()
| pure virtual |
Выбрать все точки, которые соответствуют заданным коэффициентам модели, как инлианы.
Чисто виртуальный метод.
- Параметры
-
[in] model_coefficients коэффициенты модели, для которых требуется вычислить расстояния [in] threshold максимальное допустимое значение порога расстояния для определения инлианов от выбросов [out] inliers результирующие инлианы модели
Реализовано в pcl::SampleConsensusModelStick< PointT >, pcl::SampleConsensusModelSphere< PointT >, pcl::SampleConsensusModelSphere< pcl::PointXYZRGB >, pcl::SampleConsensusModelRegistration< PointT >, pcl::SampleConsensusModelPlane< PointT >, pcl::SampleConsensusModelPerpendicularPlane< PointT >, pcl::SampleConsensusModelParallelPlane< PointT >, pcl::SampleConsensusModelParallelLine< PointT >, pcl::SampleConsensusModelNormalSphere< PointT, PointNT >, pcl::SampleConsensusModelNormalPlane< PointT, PointNT >, pcl::SampleConsensusModelLine< PointT >, pcl::SampleConsensusModelEllipse3D< PointT >, pcl::SampleConsensusModelEllipse3D< pcl::PointXYZRGB >, pcl::SampleConsensusModelCylinder< PointT, PointNT >, pcl::SampleConsensusModelCylinder< pcl::PointXYZRGB, PointNT >, pcl::SampleConsensusModelCone< PointT, PointNT >, pcl::SampleConsensusModelCone< pcl::PointXYZRGB, PointNT >, pcl::SampleConsensusModelCircle3D< PointT >, pcl::SampleConsensusModelCircle3D< pcl::PointXYZRGB >, pcl::SampleConsensusModelCircle2D< PointT >, pcl::SampleConsensusModelCircle2D< pcl::PointXYZRGB >, и pcl::SampleConsensusModelRegistration2D< PointT >.
setIndices() [1/2]
| inline |
Укажите вектор индексов, представляющий входные данные.
- Параметры
-
[out] indices вектор индексов, представляющий входные данные.
Определение в строке 333 файла sac_model.h.
Ссылки на pcl::SampleConsensusModel< PointT >::indices_ и pcl::SampleConsensusModel< PointT >::shuffled_indices_.
setIndices() [2/2]
| inline |
Укажите указатель на вектор индексов, представляющий входные данные.
- Параметры
-
[in] indices указатель на вектор индексов, представляющий входные данные.
Определение в строке 323 файла sac_model.h.
Ссылки на pcl::SampleConsensusModel< PointT >::indices_ и pcl::SampleConsensusModel< PointT >::shuffled_indices_.
Используется в pcl::registration::FPCSInitialAlignment< PointSource, PointTarget, pcl::Normal, float >::segmentToSegmentDist().
setInputCloud()
| inlinevirtual |
Укажите указатель на набор входных данных.
- Параметры
-
[in] cloud постоянный указатель на boost-shared-указатель на сообщение PointCloud
Переопределено в pcl::SampleConsensusModelRegistration< PointT >.
Определение в строке 300 файла sac_model.h.
Ссылки на pcl::SampleConsensusModel< PointT >::indices_, pcl::SampleConsensusModel< PointT >::input_ и pcl::SampleConsensusModel< PointT >::shuffled_indices_.
Обращается к pcl::SampleConsensusModelRegistration< PointT >::setInputCloud().
setModelConstraints()
| inline |
Это позволяет задать любой тип ограничения на модель, например,
определённое направление, размер или что-либо ещё.
- Параметры
-
[in] function Функция, принимающая коэффициенты модели и возвращающая значение, определяющее приемлемость модели.
Определение в строке 399 файла sac_model.h.
Ссылки на pcl::SampleConsensusModel< PointT >::custom_model_constraints_.
setRadiusLimits()
| inline |
Устанавливает минимальное и максимальное допустимые радиусы для модели (применимо к моделям, оценивающим радиус)
- Параметры
-
[in] min_radius минимальный радиус модели [in] max_radius максимальный радиус модели
- Todo:
- изменить на установку ограничений на всю модель
Определение в строке 375 файла sac_model.h.
Ссылки на pcl::SampleConsensusModel< PointT >::radius_max_ и pcl::SampleConsensusModel< PointT >::radius_min_.
Используется в pcl::SACSegmentation< PointT >::initSACModel() и pcl::SACSegmentationFromNormals< PointT, PointNT >::initSACModel().
setSamplesMaxDist()
| inline |
Установите максимальное расстояние, разрешённое при выборке случайных образцов.
- Parameters
-
[in] radius максимальное расстояние (норма L2) search
Определение в строке 414 файла sac_model.h.
Ссылается на pcl::SampleConsensusModel< PointT >::samples_radius_ и pcl::SampleConsensusModel< PointT >::samples_radius_search_.
Документация для функций-друзей и связанных функций
ProgressiveSampleConsensus< PointT >
| friend |
Определение в строке 425 файла sac_model.h.
Документация по данным членов
custom_model_constraints_
| protected |
Пользовательская функция, принимающая коэффициенты модели и возвращающая, является ли модель приемлемой.
Определение в строке 601 файла sac_model.h.
Используется в pcl::SampleConsensusModel< PointT >::isModelValid() и pcl::SampleConsensusModel< PointT >::setModelConstraints().
error_sqr_dists_
| protected |
Вектор, содержащий расстояния до вычисленной модели.
Используется внутри.
Определение в строке 585 файла sac_model.h.
Используется в pcl::SampleConsensusModel< PointT >::computeVariance().
indices_
| protected |
Указатель на вектор индексов точек для использования.
Определение в строке 556 файла sac_model.h.
Используется в pcl::SampleConsensusModelRegistration< PointT >::computeOriginalIndexMapping(), pcl::SampleConsensusModel< PointT >::getIndices(), pcl::SampleConsensusModel< PointT >::getSamples(), pcl::SampleConsensusModel< PointT >::setIndices() и pcl::SampleConsensusModel< PointT >::setInputCloud().
input_
| protected |
Указатель на данные массива облака точек.
Определение в строке 553 файла sac_model.h.
Используется в pcl::SampleConsensusModel< PointT >::drawIndexSampleRadius(), pcl::SampleConsensusModel< PointT >::getInputCloud() и pcl::SampleConsensusModel< PointT >::setInputCloud().
max_sample_checks_
| staticprotected |
Максимальное количество образцов для проверки, пока не будет найден подходящий.
Определение в строке 559 файла sac_model.h.
Используется в pcl::SampleConsensusModel< PointT >::getSamples().
model_name_
| protected |
Имя модели.
Определение в строке 550 файла sac_model.h.
Используется в pcl::SampleConsensusModel< PointT >::getClassName(), pcl::SampleConsensusModelCircle2D< PointT >::SampleConsensusModelCircle2D(), pcl::SampleConsensusModelCircle3D< PointT >::SampleConsensusModelCircle3D(), pcl::SampleConsensusModelCone< PointT, PointNT >::SampleConsensusModelCone(), pcl::SampleConsensusModelCylinder< PointT, PointNT >::SampleConsensusModelCylinder(), pcl::SampleConsensusModelEllipse3D< PointT >::SampleConsensusModelEllipse3D(), pcl::SampleConsensusModelLine< PointT >::SampleConsensusModelLine(), pcl::SampleConsensusModelNormalParallelPlane< PointT, PointNT >::SampleConsensusModelNormalParallelPlane(), pcl::SampleConsensusModelNormalPlane< PointT, PointNT >::SampleConsensusModelNormalPlane(), pcl::SampleConsensusModelNormalSphere< PointT, PointNT >::SampleConsensusModelNormalSphere(), pcl::SampleConsensusModelParallelLine< PointT >::SampleConsensusModelParallelLine(), pcl::SampleConsensusModelParallelPlane< PointT >::SampleConsensusModelParallelPlane(), pcl::SampleConsensusModelPerpendicularPlane< PointT >::SampleConsensusModelPerpendicularPlane(), pcl::SampleConsensusModelPlane< PointT >::SampleConsensusModelPlane(), pcl::SampleConsensusModelRegistration< PointT >::SampleConsensusModelRegistration(), pcl::SampleConsensusModelRegistration2D< PointT >::SampleConsensusModelRegistration2D(), pcl::SampleConsensusModelSphere< PointT >::SampleConsensusModelSphere(), и pcl::SampleConsensusModelStick< PointT >::SampleConsensusModelStick().
Размер_модели
| protected |
Количество коэффициентов в модели.
Каждый подкласс должен должным образом инициализировать это значение.
Определение в строке 591 файла sac_model.h.
Используется в pcl::SampleConsensusModel< PointT >::getModelSize(), pcl::SampleConsensusModel< PointT >::isModelValid(), pcl::SampleConsensusModelCircle2D< PointT >::SampleConsensusModelCircle2D(), pcl::SampleConsensusModelCircle3D< PointT >::SampleConsensusModelCircle3D(), pcl::SampleConsensusModelCone< PointT, PointNT >::SampleConsensusModelCone(), pcl::SampleConsensusModelCylinder< PointT, PointNT >::SampleConsensusModelCylinder(), pcl::SampleConsensusModelEllipse3D< PointT >::SampleConsensusModelEllipse3D(), pcl::SampleConsensusModelLine< PointT >::SampleConsensusModelLine(), pcl::SampleConsensusModelNormalParallelPlane< PointT, PointNT >::SampleConsensusModelNormalParallelPlane(), pcl::SampleConsensusModelNormalPlane< PointT, PointNT >::SampleConsensusModelNormalPlane(), pcl::SampleConsensusModelNormalSphere< PointT, PointNT >::SampleConsensusModelNormalSphere(), pcl::SampleConsensusModelParallelLine< PointT >::SampleConsensusModelParallelLine(), pcl::SampleConsensusModelParallelPlane< PointT >::SampleConsensusModelParallelPlane(), pcl::SampleConsensusModelPerpendicularPlane< PointT >::SampleConsensusModelPerpendicularPlane(), pcl::SampleConsensusModelPlane< PointT >::SampleConsensusModelPlane(), pcl::SampleConsensusModelRegistration< PointT >::SampleConsensusModelRegistration(), pcl::SampleConsensusModelRegistration2D< PointT >::SampleConsensusModelRegistration2D(), pcl::SampleConsensusModelSphere< PointT >::SampleConsensusModelSphere(), и pcl::SampleConsensusModelStick< PointT >::SampleConsensusModelStick().
Максимальный_радиус
| protected |
Определение в строке 564 файла sac_model.h.
Используется в pcl::SampleConsensusModel< PointT >::getRadiusLimits(), pcl::SampleConsensusModelSphere< PointT >::isModelValid(), и pcl::SampleConsensusModel< PointT >::setRadiusLimits().
Минимальный_радиус
| protected |
Минимальные и максимальные пределы радиуса для модели.
Применимо ко всем моделям, которые оценивают радиус.
Определение в строке 564 файла sac_model.h.
Используется в pcl::SampleConsensusModel< PointT >::getRadiusLimits(), pcl::SampleConsensusModelSphere< PointT >::isModelValid() и pcl::SampleConsensusModel< PointT >::setRadiusLimits().
rng_alg_
| protected |
Алгоритм генерации псевдослучайных чисел на основе Boost.
Определение в строке 576 файла sac_model.h.
rng_dist_
| protected |
Распределение генератора псевдослучайных чисел на основе Boost.
Определение в строке 579 файла sac_model.h.
rng_gen_
| protected |
Генератор псевдослучайных чисел на основе Boost.
Определение в строке 582 файла sac_model.h.
Используется в pcl::SampleConsensusModel< PointT >::rnd().
sample_size_
| protected |
Размер выборки, из которой вычисляется модель.
Каждый подкласс должен инициализировать это значение должным образом.
Определение в строке 588 файла sac_model.h.
Используется в pcl::SampleConsensusModel< PointT >::getSampleSize(), pcl::SampleConsensusModelCircle2D< PointT >::SampleConsensusModelCircle2D(), pcl::SampleConsensusModelCircle3D< PointT >::SampleConsensusModelCircle3D(), pcl::SampleConsensusModelCone< PointT, PointNT >::SampleConsensusModelCone(), pcl::SampleConsensusModelCylinder< PointT, PointNT >::SampleConsensusModelCylinder(), pcl::SampleConsensusModelEllipse3D< PointT >::SampleConsensusModelEllipse3D(), pcl::SampleConsensusModelLine< PointT >::SampleConsensusModelLine(), pcl::SampleConsensusModelNormalParallelPlane< PointT, PointNT >::SampleConsensusModelNormalParallelPlane(), pcl::SampleConsensusModelNormalPlane< PointT, PointNT >::SampleConsensusModelNormalPlane(), pcl::SampleConsensusModelNormalSphere< PointT, PointNT >::SampleConsensusModelNormalSphere(), pcl::SampleConsensusModelParallelLine< PointT >::SampleConsensusModelParallelLine(), pcl::SampleConsensusModelParallelPlane< PointT >::SampleConsensusModelParallelPlane(), pcl::SampleConsensusModelPerpendicularPlane< PointT >::SampleConsensusModelPerpendicularPlane(), pcl::SampleConsensusModelPlane< PointT >::SampleConsensusModelPlane(), pcl::SampleConsensusModelRegistration< PointT >::SampleConsensusModelRegistration(), pcl::SampleConsensusModelRegistration2D< PointT >::SampleConsensusModelRegistration2D(), pcl::SampleConsensusModelSphere< PointT >::SampleConsensusModelSphere(), и pcl::SampleConsensusModelStick< PointT >::SampleConsensusModelStick().
samples_radius_
| protected |
Максимальное расстояние последующих выборок от первой (поиск по радиусу)
Определение в строке 567 файла sac_model.h.
Используется в pcl::SampleConsensusModel< PointT >::drawIndexSampleRadius(), pcl::SampleConsensusModel< PointT >::getSamples(), pcl::SampleConsensusModel< PointT >::getSamplesMaxDist() и pcl::SampleConsensusModel< PointT >::setSamplesMaxDist().
samples_radius_search_
| protected |
Объект поиска для выбора последующих выборок с помощью поиска по радиусу.
Определение в строке 570 файла sac_model.h.
Используется в pcl::SampleConsensusModel< PointT >::drawIndexSampleRadius() и pcl::SampleConsensusModel< PointT >::setSamplesMaxDist().
shuffled_indices_
| protected |
Данные, содержащие перемешанную версию индексов.
Используется и изменяется при выборе выборок.
Определение в строке 573 файла sac_model.h.
Используется в pcl::SampleConsensusModel< PointT >::drawIndexSample(), pcl::SampleConsensusModel< PointT >::drawIndexSampleRadius(), pcl::SampleConsensusModel< PointT >::setIndices() и pcl::SampleConsensusModel< PointT >::setInputCloud().
Документация для этого класса была сгенерирована из следующего файла:
- pcl/sample_consensus/sac_model.h
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_sample_consensus_model.html
