Spec-Zone.ru › PointCloudLibrary

SampleConsensusModelLine определяет модель для сегментации 3D линий. Подробнее...

#include <pcl/sample_consensus/sac_model_line.h>

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

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

using PointCloud = typename SampleConsensusModel< PointT >::PointCloud
using PointCloudPtr = typename SampleConsensusModel< PointT >::PointCloudPtr
using PointCloudConstPtr = typename SampleConsensusModel< PointT >::PointCloudConstPtr
using Ptr = shared_ptr< SampleConsensusModelLine< PointT > >
using ConstPtr = shared_ptr< const SampleConsensusModelLine< 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 > >

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

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 getDistancesToModel (const Eigen::VectorXf &model_coefficients, std::vector< double > &distances) const override
Вычисление всех квадратов расстояний от данных облака точек до заданной модели линии. Подробнее...
void selectWithinDistance (const Eigen::VectorXf &model_coefficients, const double threshold, Indices &inliers) override
Выбрать все точки, которые соответствуют заданным коэффициентам модели как внутренние точки. Подробнее...
std::size_t countWithinDistance (const Eigen::VectorXf &model_coefficients, const double threshold) const override
Подсчитать все точки, которые соответствуют заданным коэффициентам модели как внутренние точки. Подробнее...
void optimizeModelCoefficients (const Indices &inliers, const Eigen::VectorXf &model_coefficients, Eigen::VectorXf &optimized_coefficients) const override
Пересчитать коэффициенты линии с использованием заданного набора внутренних точек и вернуть их пользователю. Подробнее...
void projectPoints (const Indices &inliers, const Eigen::VectorXf &model_coefficients, PointCloud &projected_points, bool copy_data_fields=true) const override
Создать новую точку облака с внутренними точками, спроектированными на модель линии. Подробнее...
bool doSamplesVerifyModel (const std::set< index_t > &indices, const Eigen::VectorXf &model_coefficients, const double threshold) const override
Проверить, соответствует ли подмножество индексов заданным коэффициентам модели линии. Подробнее...
pcl::SacModel getModelType () const override
Возвратить уникальный идентификатор для этой модели (SACMODEL_LINE). Подробнее...
- Общедоступные члены-функции, унаследованные от 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 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_. Подробнее...
virtual bool isModelValid (const Eigen::VectorXf &model_coefficients) const
Проверить, является ли модель действительной, учитывая пользовательские ограничения. Подробнее...
int rnd ()
Генератор случайных чисел на основе Boost. Подробнее...

Дополнительные унаследованные члены

- Защищенные атрибуты, унаследованные от 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::SampleConsensusModelLine< PointT >

SampleConsensusModelLine определяет модель для сегментации 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

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

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

ConstPtr

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

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

PointCloud

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

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

PointCloudConstPtr

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

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

PointCloudPtr

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

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

Ptr

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

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

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

SampleConsensusModelLine() [1/2]

шаблон<typename PointT >
pcl::SampleConsensusModelLine< PointT >::SampleConsensusModelLine ( const PointCloudConstPtr & cloud,
bool random = false
)
inline

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

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

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

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

SampleConsensusModelLine() [2/2]

template<typename PointT >
pcl::SampleConsensusModelLine< PointT >::SampleConsensusModelLine ( const PointCloudConstPtr & облако,
const Indices & индексы,
bool случайно = false
)
inline

Конструктор для базового класса SampleConsensusModelLine.

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

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

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

~SampleConsensusModelLine()

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

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

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

computeModelCoefficients()

template<typename PointT >
bool pcl::SampleConsensusModelLine< PointT >::computeModelCoefficients ( const Indices & выборка,
Eigen::VectorXf & коэффициенты_модели
) const
overridevirtual

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

Коэффициенты прямой представлены точкой и направлением прямой

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

Реализация pcl::SampleConsensusModel< PointT >.

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

countWithinDistance()

template<typename PointT >
std::size_t pcl::SampleConsensusModelLine< PointT >::countWithinDistance ( const Eigen::VectorXf & коэффициенты_модели,
const double порог
) const
overridevirtual

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

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

Реализация pcl::SampleConsensusModel< PointT >.

Переопределено в pcl::SampleConsensusModelParallelLine< PointT >.

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

doSamplesVerifyModel()

template<typename PointT >
bool pcl::SampleConsensusModelLine< PointT >::doSamplesVerifyModel ( const std::set< index_t > & индексы,
const Eigen::VectorXf & коэффициенты_модели,
const double порог
) const
overridevirtual

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

Параметры
[in] индексы индексы данных, которые нужно проверить относительно модели прямой
[in] коэффициенты_модели коэффициенты модели прямой
[in] порог максимально допустимое расстояние для определения инлайнеров от аутлайнеров

Реализация pcl::SampleConsensusModel< PointT >.

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

getDistancesToModel()

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

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

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

Реализует pcl::SampleConsensusModel< PointT >.

Переопределено в pcl::SampleConsensusModelParallelLine< PointT >.

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

getModelType()

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

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

Реализует pcl::SampleConsensusModel< PointT >.

Переопределено в pcl::SampleConsensusModelParallelLine< PointT >.

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

Ссылается на pcl::SACMODEL_LINE.

isSampleGood()

template<typename PointT >
bool pcl::SampleConsensusModelLine< PointT >::isSampleGood ( const Indices & samples ) const
overrideprotectedvirtual

Проверить, является ли образец индексов подходящим образцом индексов точек.

Параметры
[in] samples результирующие образцы индексов

Реализует pcl::SampleConsensusModel< PointT >.

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

optimizeModelCoefficients()

template<typename PointT >
void pcl::SampleConsensusModelLine< PointT >::optimizeModelCoefficients ( const Indices & inliers,
const Eigen::VectorXf & model_coefficients,
Eigen::VectorXf & optimized_coefficients
) const
overridevirtual

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

Примечание
: это коэффициенты модели прямой после уточнения (например, после SVD)
Параметры
[in] inliers элементы данных, найденные как поддерживающие модель
[in] model_coefficients начальное предположение для коэффициентов модели
[out] optimized_coefficients результирующие пересчитанные коэффициенты после оптимизации

Реализует pcl::SampleConsensusModel< PointT >.

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

Ссылается на pcl::compute3DCentroid(), pcl::computeCorrespondingEigenVector(), pcl::computeCovarianceMatrix() и pcl::eigen33().

projectPoints()

template<typename PointT >
void pcl::SampleConsensusModelLine< PointT >::projectPoints ( const Indices & inliers,
const Eigen::VectorXf & model_coefficients,
PointCloud & projected_points,
bool copy_data_fields = true
) const
overridevirtual

Создать новый облако точек с проекциями элементов внутри на модель линии.

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

Реализует pcl::SampleConsensusModel< PointT >.

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

Ссылки на pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::resize(), pcl::PointCloud< PointT >::size() и pcl::PointCloud< PointT >::width.

selectWithinDistance()

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

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

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

Реализует pcl::SampleConsensusModel< PointT >.

Переопределено в pcl::SampleConsensusModelParallelLine< PointT >.

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


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

Spec-Zone.ru

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