SampleConsensusModelCircle3D определяет модель для сегментации окружностей в 3D пространстве. Подробнее...
#include <pcl/sample_consensus/sac_model_circle3d.h>
Общедоступные типы | |
| using | PointCloud = typename SampleConsensusModel< PointT >::PointCloud |
| using | PointCloudPtr = typename SampleConsensusModel< PointT >::PointCloudPtr |
| using | PointCloudConstPtr = typename SampleConsensusModel< PointT >::PointCloudConstPtr |
| using | Ptr = shared_ptr< SampleConsensusModelCircle3D< PointT > > |
| using | ConstPtr = shared_ptr< const SampleConsensusModelCircle3D< 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 > > |
Общедоступные члены-функции | |
| SampleConsensusModelCircle3D (const PointCloudConstPtr &cloud, bool random=false) | |
| Конструктор базового класса SampleConsensusModelCircle3D. Подробнее... |
|
| SampleConsensusModelCircle3D (const PointCloudConstPtr &cloud, const Indices &indices, bool random=false) | |
| Конструктор базового класса SampleConsensusModelCircle3D. Подробнее... |
|
| ~SampleConsensusModelCircle3D () override=default | |
| Пустой деструктор. Подробнее... |
|
| SampleConsensusModelCircle3D (const SampleConsensusModelCircle3D &source) | |
| Копирующий конструктор. Подробнее... |
|
| SampleConsensusModelCircle3D & | operator= (const SampleConsensusModelCircle3D &source) |
| Копирующий конструктор. Подробнее... |
|
|
| |
| 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 |
| Вычислить дисперсию ошибок модели по внутренне оценочному вектору расстояний. Подробнее... |
|
Защищенные члены-функции | |
| bool | isModelValid (const Eigen::VectorXf &model_coefficients) const override |
| Проверить, является ли модель допустимой при заданных пользователем ограничениях. Подробнее... |
|
| bool | isSampleGood (const Indices &samples) const override |
| Проверить, является ли выборка индексов хорошей выборкой индексов точек. Подробнее... |
|
|
| |
| SampleConsensusModel (bool random=false) | |
| Пустой конструктор для базового класса SampleConsensusModel. Подробнее... |
|
| void | drawIndexSample (Indices &sample) |
| Заполняет массив sample случайными выборками из вектора indices_. Подробнее... |
|
| void | drawIndexSampleRadius (Indices &sample) |
| Заполняет массив sample одной случайной выборкой из вектора indices_ и другими случайными выборками, которые ближе, чем samples_radius_. Подробнее... |
|
| int | rnd () |
| Генератор случайных чисел на основе Boost. Подробнее... |
|
Дополнительные унаследованные члены | |
|
| |
| std::string | model_name_ |
| Имя модели. Подробнее... |
|
| PointCloudConstPtr | input_ |
| Указатель boost shared на массив данных облака точек. Подробнее... |
|
| IndicesPtr | indices_ |
| Указатель на вектор индексов точек для использования. Подробнее... |
|
| boost::mt19937 | rng_alg_ |
| Алгоритм генератора случайных чисел Boost. Подробнее... |
|
| std::function< bool(const Eigen::VectorXf &)> | custom_model_constraints_ |
| Пользовательская функция, которая принимает коэффициенты модели и возвращает, является ли модель приемлемой или нет. Подробнее... |
|
|
| |
| static const unsigned int | max_sample_checks_ = 1000 |
| Максимальное количество выборок для проверки, пока не будет найдена подходящая. Подробнее... |
|
Подробное описание
шаблон<typename PointT>
класс pcl::SampleConsensusModelCircle3D< PointT >
SampleConsensusModelCircle3D определяет модель для сегментации 3D окружностей.
Коэффициенты модели определяются следующим образом:
- center.x : координата X центра окружности
- center.y : координата Y центра окружности
- center.z : координата Z центра окружности
- radius : радиус окружности
- normal.x : координата X направления нормали
- normal.y : координата Y направления нормали
- normal.z : координата Z направления нормали
Определение в строке 60 файла sac_model_circle3d.h.
Документация по членам-типам
ConstPtr
| используется pcl::SampleConsensusModelCircle3D< PointT >::ConstPtr = shared_ptr<const SampleConsensusModelCircle3D<PointT> > |
Определение в строке 74 файла sac_model_circle3d.h.
PointCloud
| используется pcl::SampleConsensusModelCircle3D< PointT >::PointCloud = typename SampleConsensusModel<PointT>::PointCloud |
Определение в строке 69 файла sac_model_circle3d.h.
PointCloudConstPtr
| используется pcl::SampleConsensusModelCircle3D< PointT >::PointCloudConstPtr = typename SampleConsensusModel<PointT>::PointCloudConstPtr |
Определение в строке 71 файла sac_model_circle3d.h.
PointCloudPtr
| используется pcl::SampleConsensusModelCircle3D< PointT >::PointCloudPtr = typename SampleConsensusModel<PointT>::PointCloudPtr |
Определение в строке 70 файла sac_model_circle3d.h.
Ptr
| используется pcl::SampleConsensusModelCircle3D< PointT >::Ptr = shared_ptr<SampleConsensusModelCircle3D<PointT> > |
Определение в строке 73 файла sac_model_circle3d.h.
Документация по конструкторам и деструкторам
SampleConsensusModelCircle3D() [1/3]
| inline |
Конструктор для базового класса SampleConsensusModelCircle3D.
- Параметры
-
[in] cloud набор входных точек [in] random если true, то устанавливается случайное зерно по текущему времени, иначе — 12345 (по умолчанию: false)
Определение в строке 80 файла sac_model_circle3d.h.
Ссылки на pcl::SampleConsensusModel< PointT >::model_name_, pcl::SampleConsensusModel< PointT >::model_size_, и pcl::SampleConsensusModel< PointT >::sample_size_.
SampleConsensusModelCircle3D() [2/3]
| inline |
Конструктор для базового класса SampleConsensusModelCircle3D.
- Параметры
-
[in] cloud набор входных точек [in] indices вектор индексов точек для использования из cloud [in] random если true, то устанавливается случайное зерно по текущему времени, иначе — 12345 (по умолчанию: false)
Определение в строке 94 файла sac_model_circle3d.h.
Ссылки на pcl::SampleConsensusModel< PointT >::model_name_, pcl::SampleConsensusModel< PointT >::model_size_, и pcl::SampleConsensusModel< PointT >::sample_size_.
~SampleConsensusModelCircle3D()
| overridedefault |
Пустой деструктор.
SampleConsensusModelCircle3D() [3/3]
| inline |
Конструктор копирования.
- Параметры
-
[in] source модель для копирования
Определение в строке 110 файла sac_model_circle3d.h.
Member Function Documentation
computeModelCoefficients()
| overridevirtual |
Проверяет, могут ли заданные индексы точек образовать корректную модель окружности, вычисляет коэффициенты модели и сохраняет их в model_coefficients.
Коэффициенты окружности: x, y, R.
- Параметры
-
[in] samples индексы точек, которые, возможно, подходят для создания модели [out] model_coefficients результирующие коэффициенты модели
Реализация pcl::SampleConsensusModel< PointT >.
Определение в строке 79 файла sac_model_circle3d.hpp.
countWithinDistance()
| overridevirtual |
Подсчитать все точки, которые соответствуют заданным коэффициентам модели как инлайнеры.
- Parameters
-
[in] model_coefficients коэффициенты модели, для которой необходимо вычислить расстояния [in] threshold максимально допустимое пороговое значение расстояния для определения инлайнеров от аутлайнеров
- Returns
- результирующее количество инлайнеров
Реализует pcl::SampleConsensusModel< PointT >.
Определение в строке 234 файла sac_model_circle3d.hpp.
Ссылки на pcl::K.
doSamplesVerifyModel()
| overridevirtual |
Проверить, удовлетворяет ли подмножество индексов заданным коэффициентам модели 3D окружности.
- Parameters
-
[in] indices индексы данных, которые необходимо проверить на соответствие модели 3D окружности [in] model_coefficients коэффициенты модели 3D окружности [in] threshold максимально допустимое пороговое значение расстояния для определения инлайнеров от аутлайнеров
Реализует pcl::SampleConsensusModel< PointT >.
Определение в строке 414 файла sac_model_circle3d.hpp.
Ссылки на pcl::K.
getDistancesToModel()
| overridevirtual |
Вычислить все расстояния от данных облака до заданной модели 3D окружности.
- Parameters
-
[in] model_coefficients коэффициенты модели 2D окружности, для которой необходимо вычислить расстояния [out] distances результирующие рассчитанные расстояния
Реализует pcl::SampleConsensusModel< PointT >.
Определение в строке 139 файла sac_model_circle3d.hpp.
getModelType()
| inlineoverridevirtual |
Возвращает уникальный идентификатор для этой модели (SACMODEL_CIRCLE3D).
Реализует pcl::SampleConsensusModel< PointT >.
Определение в строке 199 файла sac_model_circle3d.h.
Ссылки на pcl::SACMODEL_CIRCLE3D.
isModelValid()
| overrideprotectedvirtual |
Проверить, является ли модель допустимой, учитывая ограничения пользователя.
- Parameters
-
[in] model_coefficients набор коэффициентов модели
Переопределяет pcl::SampleConsensusModel< PointT >.
Определение в строке 460 файла sac_model_circle3d.hpp.
isSampleGood()
| overrideprotectedvirtual |
Проверить, является ли выборка индексов хорошей выборкой точек индексов.
- Parameters
-
[in] samples результирующие образцы индексов
Реализует pcl::SampleConsensusModel< PointT >.
Определение в строке 50 файла sac_model_circle3d.hpp.
operator=()
| inline |
Копирование конструктора.
- Параметры
-
[in] source модель для копирования в эту
Определение в строке 121 файла sac_model_circle3d.h.
optimizeModelCoefficients()
| overridevirtual |
Пересчитать коэффициенты 3D окружности с использованием заданного набора внутренних точек и вернуть их пользователю.
- Примечание
- : это коэффициенты 3d-модели окружности после уточнения (например, после SVD)
- Параметры
-
[in] inliers данные внутренние точки, найденные как поддерживающие модель [in] model_coefficients начальное приближение для оптимизации [out] optimized_coefficients результирующие пересчитанные коэффициенты после нелинейной оптимизации
Реализует pcl::SampleConsensusModel< PointT >.
Определение в строке 276 файла sac_model_circle3d.hpp.
projectPoints()
| overridevirtual |
Создать новую облако точек с проекциями внутренних точек на 3d модель окружности.
- Параметры
-
[in] inliers внутренние точки данных, которые мы хотим спроецировать на 3D модель окружности [in] model_coefficients коэффициенты 3D модели окружности [out] projected_points результирующие спроецированные точки [in] copy_data_fields установите в true, если нам нужно скопировать другие поля данных
Реализует pcl::SampleConsensusModel< PointT >.
Определение в строке 312 файла sac_model_circle3d.hpp.
selectWithinDistance()
| overridevirtual |
Вычислить все расстояния от данных облака до заданной 3D модели окружности.
- Параметры
-
[in] model_coefficients коэффициенты 3D модели окружности, для которой требуется вычислить расстояния [in] threshold максимально допустимое пороговое значение расстояния для определения внутренних точек из выбросов [out] inliers результирующие внутренние точки модели
Реализует pcl::SampleConsensusModel< PointT >.
Определение в строке 186 файла sac_model_circle3d.hpp.
Документация для данного класса была сгенерирована из следующих файлов:
- pcl/sample_consensus/sac_model_circle3d.h
- pcl/sample_consensus/impl/sac_model_circle3d.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_circle3_d.html