Spec-Zone.ru › PointCloudLibrary

SampleConsensusModelRegistration2D задаёт модель для отбраковки выбросов при регистрации «точка-точка» с использованием расстояний между 2D-пикселями. Подробнее...

#include <pcl/sample_consensus/sac_model_registration_2d.h>

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

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

using PointCloud = typename pcl::SampleConsensusModel< PointT >::PointCloud
using PointCloudPtr = typename pcl::SampleConsensusModel< PointT >::PointCloudPtr
using PointCloudConstPtr = typename pcl::SampleConsensusModel< PointT >::PointCloudConstPtr
using Ptr = shared_ptr< SampleConsensusModelRegistration2D< PointT > >
using ConstPtr = shared_ptr< const SampleConsensusModelRegistration2D< PointT > >
- Общедоступные типы, унаследованные от pcl::SampleConsensusModelRegistration< PointT >
using PointCloud = typename SampleConsensusModel< PointT >::PointCloud
using PointCloudPtr = typename SampleConsensusModel< PointT >::PointCloudPtr
using PointCloudConstPtr = typename SampleConsensusModel< PointT >::PointCloudConstPtr
using Ptr = shared_ptr< SampleConsensusModelRegistration< PointT > >
using ConstPtr = shared_ptr< const SampleConsensusModelRegistration< 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 > >

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

SampleConsensusModelRegistration2D (const PointCloudConstPtr &cloud, bool random=false)
Конструктор базового класса SampleConsensusModelRegistration2D. Подробнее...
SampleConsensusModelRegistration2D (const PointCloudConstPtr &cloud, const Indices &indices, bool random=false)
Конструктор базового класса SampleConsensusModelRegistration2D. Подробнее...
virtual ~SampleConsensusModelRegistration2D ()=default
Пустой деструктор. Подробнее...
void getDistancesToModel (const Eigen::VectorXf &model_coefficients, std::vector< double > &distances) const
Вычислить все расстояния от преобразованных точек до соответствующих им точек. Подробнее...
void selectWithinDistance (const Eigen::VectorXf &model_coefficients, const double threshold, Indices &inliers)
Выбрать все точки, соответствующие заданным коэффициентам модели, в качестве внутренних точек. Подробнее...
virtual std::size_t countWithinDistance (const Eigen::VectorXf &model_coefficients, const double threshold) const
Подсчитать все точки, соответствующие заданным коэффициентам модели, в качестве внутренних точек. Подробнее...
void setProjectionMatrix (const Eigen::Matrix3f &projection_matrix)
Задать матрицу проекции камеры. Подробнее...
Eigen::Matrix3f getProjectionMatrix () const
Получить матрицу проекции камеры. Подробнее...
- Открытые функции-члены, унаследованные от pcl::SampleConsensusModelRegistration< PointT >
SampleConsensusModelRegistration (const PointCloudConstPtr &cloud, bool random=false)
Конструктор базового класса SampleConsensusModelRegistration. Подробнее...
SampleConsensusModelRegistration (const PointCloudConstPtr &cloud, const Indices &indices, bool random=false)
Конструктор базового класса SampleConsensusModelRegistration. Подробнее...
~SampleConsensusModelRegistration () override=default
Пустой деструктор. Подробнее...
void setInputCloud (const PointCloudConstPtr &cloud) override
Передать указатель на входной набор данных. Подробнее...
void setInputTarget (const PointCloudConstPtr &target)
Задать входное целевое облако точек. Подробнее...
void setInputTarget (const PointCloudConstPtr &target, const Indices &indices_tgt)
Задать входное целевое облако точек. Подробнее...
bool computeModelCoefficients (const Indices &samples, Eigen::VectorXf &model_coefficients) const override
Вычислить матрицу жесткого преобразования 4x4 по заданным выборочным точкам. Подробнее...
void optimizeModelCoefficients (const Indices &inliers, const Eigen::VectorXf &model_coefficients, Eigen::VectorXf &optimized_coefficients) const override
Повторно вычислить преобразование 4x4, используя заданный набор внутренних точек. Подробнее...
void projectPoints (const Indices &, const Eigen::VectorXf &, PointCloud &, bool=true) const override
Создать новое облако точек, спроецировав внутренние точки на модель. Подробнее...
bool doSamplesVerifyModel (const std::set< index_t > &, const Eigen::VectorXf &, const double) const override
Проверить, соответствует ли подмножество индексов заданному набору коэффициентов модели. Подробнее...
pcl::SacModel getModelType () const override
Вернуть уникальный идентификатор этой модели (SACMODEL_REGISTRATION). Подробнее...
- Открытые функции-члены, унаследованные от 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)
Получить набор случайных выборок данных и вернуть их в виде индексов точек. Подробнее...
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 isSampleGood (const Indices &samples) const
Проверить, образуют ли выборочные индексы допустимую выборку индексов точек. Подробнее...
void computeSampleDistanceThreshold (const PointCloudConstPtr &)
Вычисляет «оптимальный» порог расстояния между выборками на основе главных направлений входного облака. Подробнее...
void computeSampleDistanceThreshold (const PointCloudConstPtr &, const Indices &)
Вычисляет «оптимальный» порог расстояния между выборками на основе главных направлений входного облака. Подробнее...
- Защищённые функции-члены, унаследованные от pcl::SampleConsensusModelRegistration< PointT >
void computeSampleDistanceThreshold (const PointCloudConstPtr &cloud)
Вычисляет «оптимальный» порог расстояния между выборками на основе главных направлений входного облака. Подробнее...
void computeSampleDistanceThreshold (const PointCloudConstPtr &cloud, const Indices &indices)
Вычисляет «оптимальный» порог расстояния между выборками на основе главных направлений входного облака. Подробнее...
void estimateRigidTransformationSVD (const pcl::PointCloud< PointT > &cloud_src, const Indices &indices_src, const pcl::PointCloud< PointT > &cloud_tgt, const Indices &indices_tgt, Eigen::VectorXf &transform) const
Оценивает жёсткое преобразование между исходным и целевым облаками точек с помощью замкнутого решения методом SVD для задачи абсолютной ориентации с использованием единичных кватернионов. Подробнее...
void computeOriginalIndexMapping ()
Вычислить отображения между исходными индексами облаков input_/target_. Подробнее...
- Защищённые функции-члены, унаследованные от 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::SampleConsensusModelRegistration< PointT >
PointCloudConstPtr target_
Указатель boost shared на массив данных целевого облака точек. Подробнее...
IndicesPtr indices_tgt_
Указатель на вектор индексов целевых точек, которые следует использовать. Подробнее...
std::map< index_t, index_t > correspondences_
Для заданного индекса в исходном облаке точек возвращает соответствующий исходный индекс в целевом облаке. Подробнее...
double sample_dist_thresh_
Внутренний порог расстояния, используемый на этапе выбора образцов. Подробнее...
- Защищённые атрибуты, унаследованные от 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::SampleConsensusModel< PointT >
static const unsigned int max_sample_checks_ = 1000
Максимальное количество попыток выбрать подходящий образец. Подробнее...

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

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

SampleConsensusModelRegistration2D задаёт модель для отбраковки выбросов при регистрации «точка-точка» с использованием расстояний между 2D-пикселями.

Автор
Radu B. Rusu

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

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

ConstPtr

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

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

PointCloud

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

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

PointCloudConstPtr

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

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

PointCloudPtr

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

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

Ptr

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

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

Документация по конструкторам и деструктору

SampleConsensusModelRegistration2D() [1/2]

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

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

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

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

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

SampleConsensusModelRegistration2D() [2/2]

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

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

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

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

Ссылки на pcl::SampleConsensusModelRegistration< PointT >::computeOriginalIndexMapping(), pcl::SampleConsensusModelRegistration2D< PointT >::computeSampleDistanceThreshold(), pcl::SampleConsensusModel< PointT >::model_name_, pcl::SampleConsensusModel< PointT >::model_size_ и pcl::SampleConsensusModel< PointT >::sample_size_.

~SampleConsensusModelRegistration2D()

template<typename PointT >
virtual pcl::SampleConsensusModelRegistration2D< PointT >::~SampleConsensusModelRegistration2D ( )
virtualdefault

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

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

computeSampleDistanceThreshold() [1/2]

template<typename PointT >
void pcl::SampleConsensusModelRegistration2D< PointT >::computeSampleDistanceThreshold ( const PointCloudConstPtr & )
inlineprotected

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

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

Используется в pcl::SampleConsensusModelRegistration2D< PointT >::SampleConsensusModelRegistration2D().

computeSampleDistanceThreshold() [2/2]

template<typename PointT >
void pcl::SampleConsensusModelRegistration2D< PointT >::computeSampleDistanceThreshold ( const PointCloudConstPtr & ,
const Indices &
)
inlineprotected

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

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

countWithinDistance()

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

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

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

Переопределено из pcl::SampleConsensusModelRegistration< PointT >.

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

getDistancesToModel()

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

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

Параметры
[in] model_coefficients матрица преобразования 4x4
[out] distances вычисленные оценки расстояний

Переопределено из pcl::SampleConsensusModelRegistration< PointT >.

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

getProjectionMatrix()

template<typename PointT >
Eigen::Matrix3f pcl::SampleConsensusModelRegistration2D< PointT >::getProjectionMatrix ( ) const
inline

Возвращает матрицу проекции камеры.

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

isSampleGood()

template<typename PointT >
bool pcl::SampleConsensusModelRegistration2D< PointT >::isSampleGood ( const Indices & samples ) const
protectedvirtual

Проверяет, образуют ли индексы выборки корректную выборку индексов точек.

Параметры
[in] samples итоговые индексы выборки

Переопределено из pcl::SampleConsensusModelRegistration< PointT >.

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

selectWithinDistance()

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

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

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

Переопределено из pcl::SampleConsensusModelRegistration< PointT >.

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

См. также pcl::geometry::distance().

setProjectionMatrix()

template<typename PointT >
void pcl::SampleConsensusModelRegistration2D< PointT >::setProjectionMatrix ( const Eigen::Matrix3f & projection_matrix )
inline

Задаёт матрицу проекции камеры.

Параметры
[in] projection_matrix матрица проекции камеры

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

Используется в pcl::registration::CorrespondenceRejectorSampleConsensus2D< PointT >::getRemainingCorrespondences().


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

Spec-Zone.ru

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