Spec-Zone.ru › PointCloudLibrary

SampleConsensusModelParallelLine определяет модель для сегментации 3D линий с дополнительными угловыми ограничениями. Подробнее...

#include <pcl/sample_consensus/sac_model_parallel_line.h>

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

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

using ТочкаОблако = typename SampleConsensusModelLine< PointT >::ТочкаОблако
using УказательНаТочкаОблако = typename SampleConsensusModelLine< PointT >::УказательНаТочкаОблако
using УказательНаПостоянноеТочкаОблако = typename SampleConsensusModelLine< PointT >::УказательНаПостоянноеТочкаОблако
using Указатель = shared_ptr< SampleConsensusModelParallelLine< PointT > >
using ПостоянныйУказатель = shared_ptr< const SampleConsensusModelParallelLine< PointT > >
- Общедоступные типы, унаследованные от pcl::SampleConsensusModelLine< PointT >
using ТочкаОблако = typename SampleConsensusModel< PointT >::ТочкаОблако
using УказательНаТочкаОблако = typename SampleConsensusModel< PointT >::УказательНаТочкаОблако
using УказательНаПостоянноеТочкаОблако = typename SampleConsensusModel< PointT >::УказательНаПостоянноеТочкаОблако
using Указатель = shared_ptr< SampleConsensusModelLine< PointT > >
using ПостоянныйУказатель = shared_ptr< const SampleConsensusModelLine< PointT > >
- Общедоступные типы, унаследованные от pcl::SampleConsensusModel< PointT >
using ТочкаОблако = pcl::PointCloud< PointT >
using УказательНаПостоянноеТочкаОблако = typename ТочкаОблако::ConstPtr
using УказательНаТочкаОблако = typename ТочкаОблако::Ptr
using УказательНаПоиск = typename pcl::search::Search< PointT >::Указатель
using Указатель = shared_ptr< SampleConsensusModel< PointT > >
using ПостоянныйУказатель = shared_ptr< const SampleConsensusModel< PointT > >

Общедоступные члены-функции

SampleConsensusModelParallelLine (const PointCloudConstPtr &cloud, bool random=false)
Конструктор базового класса SampleConsensusModelParallelLine. Подробнее...
SampleConsensusModelParallelLine (const PointCloudConstPtr &cloud, const Indices &indices, bool random=false)
Конструктор базового класса SampleConsensusModelParallelLine. Подробнее...
~SampleConsensusModelParallelLine () override=default
Пустой деструктор. Подробнее...
void setAxis (const Eigen::Vector3f &ax)
Установить ось, по которой необходимо искать прямую. Подробнее...
Eigen::Vector3f getAxis () const
Получить ось, по которой необходимо искать прямую. Подробнее...
void setEpsAngle (const double ea)
Установить порог угла epsilon (delta). Подробнее...
double getEpsAngle () const
Получить порог угла epsilon (delta) (в радианах). Подробнее...
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 getDistancesToModel (const Eigen::VectorXf &model_coefficients, std::vector< double > &distances) const override
Вычислить все квадратные расстояния от данных облака до заданной модели прямой. Подробнее...
pcl::SacModel getModelType () const override
Возвращает уникальный идентификатор для этой модели (SACMODEL_PARALLEL_LINE). Подробнее...
- Общедоступные члены-функции унаследованные от pcl::SampleConsensusModelLine< PointT >
SampleConsensusModelLine (const PointCloudConstPtr &cloud, bool random=false)
Конструктор базового класса SampleConsensusModelLine. Подробнее...
SampleConsensusModelLine (const PointCloudConstPtr &cloud, const Indices &indices, bool random=false)
Конструктор базового класса SampleConsensusModelLine. Подробнее...
~SampleConsensusModelLine () override=default
Пустой деструктор. Подробнее...
bool computeModelCoefficients (const Indices &samples, Eigen::VectorXf &model_coefficients) const override
Проверить, могут ли заданные индексные образцы образовать корректную модель прямой, вычислить коэффициенты модели из этих образцов и сохранить их во внутренней переменной model_coefficients_. Подробнее...
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::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
Вычислить дисперсию ошибок относительно модели по внутренне оценённому вектору расстояний. Подробнее...

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

bool isModelValid (const Eigen::VectorXf &model_coefficients) const override
Проверка, является ли модель валидной с учётом пользовательских ограничений. Подробнее...
- Защищённые члены-функции унаследованные от pcl::SampleConsensusModelLine< PointT >
bool isSampleGood (const Indices &samples) const override
Проверка, является ли выборка индексов хорошей выборкой точек-индексов. Подробнее...
- Защищённые члены-функции унаследованные от pcl::SampleConsensusModel< PointT >
SampleConsensusModel (bool random=false)
Пустой конструктор для базового класса SampleConsensusModel. Подробнее...
void drawIndexSample (Indices &sample)
Заполняет массив выборки случайными выборками из вектора indices_. Подробнее...
void drawIndexSampleRadius (Indices &sample)
Заполняет массив выборки одной случайной выборкой из вектора indices_ и другими случайными выборками, которые находятся ближе, чем samples_radius_. Подробнее...
int rnd ()
Генератор псевдослучайных чисел на основе Boost. Подробнее...

Защищенные атрибуты

Eigen::Vector3f axis_
Ось, по которой необходимо искать прямую. Подробнее...
double eps_angle_
Максимальное допустимое отклонение между направлением прямой и заданной осью. Подробнее...
- Защищенные атрибуты, унаследованные от 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
Максимальное количество выборок для проверки, пока не будет найдена подходящая. Подробнее...

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

шаблон<typename PointT>
класс pcl::SampleConsensusModelParallelLine< PointT >

SampleConsensusModelParallelLine определяет модель для сегментации 3D-линий с использованием дополнительных угловых ограничений.

Проверка соответствия точек модели будет включать не только критерий "расстояния до модели", но и дополнительный критерий "максимального углового отклонения" между направлением линии и заданной пользователем осью.

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

  • point_on_line.x: координата X точки на линии
  • point_on_line.y: координата Y точки на линии
  • point_on_line.z: координата Z точки на линии
  • line_direction.x: координата X направления линии
  • line_direction.y: координата Y направления линии
  • line_direction.z: координата Z направления линии
Автор
Radu B. Rusu

Определение на строке 65 файла sac_model_parallel_line.h.

Документация по typedef

ConstPtr

шаблон<typename PointT >
используется pcl::SampleConsensusModelParallelLine< PointT >::ConstPtr = shared_ptr<const SampleConsensusModelParallelLine<PointT> >

Определение на строке 75 файла sac_model_parallel_line.h.

PointCloud

шаблон<typename PointT >
используется pcl::SampleConsensusModelParallelLine< PointT >::PointCloud = typename SampleConsensusModelLine<PointT>::PointCloud

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

PointCloudConstPtr

шаблон<typename PointT >
используется pcl::SampleConsensusModelParallelLine< PointT >::PointCloudConstPtr = typename SampleConsensusModelLine<PointT>::PointCloudConstPtr

Определение на строке 72 файла sac_model_parallel_line.h.

PointCloudPtr

шаблон<typename PointT >
используется pcl::SampleConsensusModelParallelLine< PointT >::PointCloudPtr = typename SampleConsensusModelLine<PointT>::PointCloudPtr

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

Ptr

шаблон<typename PointT >
используется pcl::SampleConsensusModelParallelLine< PointT >::Ptr = shared_ptr<SampleConsensusModelParallelLine<PointT> >

Определение на строке 74 файла sac_model_parallel_line.h.

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

SampleConsensusModelParallelLine() [1/2]

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

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

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

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

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

SampleConsensusModelParallelLine() [2/2]

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

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

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

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

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

~SampleConsensusModelParallelLine()

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

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

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

countWithinDistance()

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

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

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

Реализовано из pcl::SampleConsensusModelLine< PointT >.

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

getAxis()

template<typename PointT >
Eigen::Vector3f pcl::SampleConsensusModelParallelLine< PointT >::getAxis ( ) const
inline

Получить ось, по которой необходимо искать линию.

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

Ссылается на pcl::SampleConsensusModelParallelLine< PointT >::axis_.

Ссылка на pcl::SACSegmentation< PointT >::initSACModel().

getDistancesToModel()

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

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

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

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

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

getEpsAngle()

template<typename PointT >
double pcl::SampleConsensusModelParallelLine< PointT >::getEpsAngle ( ) const
inline

Получить порог угла epsilon (delta) (в радианах).

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

Ссылки на pcl::SampleConsensusModelParallelLine< PointT >::eps_angle_.

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

getModelType()

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

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

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

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

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

isModelValid()

template<typename PointT >
bool pcl::SampleConsensusModelParallelLine< PointT >::isModelValid ( const Eigen::VectorXf & model_coefficients ) const
overrideprotectedvirtual

Проверка, является ли модель действительной с учетом пользовательских ограничений.

Параметры
[in] model_coefficients набор коэффициентов модели

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

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

Ссылки на pcl::getAngle3D() и M_PI.

selectWithinDistance()

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

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

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

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

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

setAxis()

template<typename PointT >
void pcl::SampleConsensusModelParallelLine< PointT >::setAxis ( const Eigen::Vector3f & ax )
inline

Установить ось, вдоль которой необходимо искать прямую.

Параметры
[in] ax ось, вдоль которой необходимо искать прямую

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

Ссылки на pcl::SampleConsensusModelParallelLine< PointT >::axis_.

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

setEpsAngle()

template<typename PointT >
void pcl::SampleConsensusModelParallelLine< PointT >::setEpsAngle ( const double ea )
inline

Установите пороговое значение угла epsilon (delta).

Параметры
[in] ea максимальное допустимое отклонение между направлением линии и заданной осью (в радианах).

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

Ссылки на pcl::SampleConsensusModelParallelLine< PointT >::eps_angle_.

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

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

axis_

template<typename PointT >
Eigen::Vector3f pcl::SampleConsensusModelParallelLine< PointT >::axis_
protected

Ось, по которой необходимо искать прямую.

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

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

eps_angle_

template<typename PointT >
double pcl::SampleConsensusModelParallelLine< PointT >::eps_angle_
protected

Максимальное допустимое отклонение между направлением прямой и заданной осью.

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

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


The documentation for this class was generated from the following files:
  • pcl/sample_consensus/sac_model_parallel_line.h
  • pcl/sample_consensus/impl/sac_model_parallel_line.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_parallel_line.html

Spec-Zone.ru

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