Spec-Zone.ru › PointCloudLibrary

IterativeClosestPointWithNormals — частный случай IterativeClosestPoint, в котором по умолчанию используется преобразование, оценённое на основе расстояний от точки до плоскости. Подробнее...

#include <pcl/registration/icp.h>

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

Открытые типы

using PointCloudSource = typename IterativeClosestPoint< PointSource, PointTarget, Scalar >::PointCloudSource
using PointCloudTarget = typename IterativeClosestPoint< PointSource, PointTarget, Scalar >::PointCloudTarget
using Matrix4 = typename IterativeClosestPoint< PointSource, PointTarget, Scalar >::Matrix4
using Ptr = shared_ptr< IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar > >
using ConstPtr = shared_ptr< const IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar > >
- Открытые типы, наследуемые от pcl::IterativeClosestPoint< PointSource, PointTarget, float >
using PointCloudSource = typename Registration< PointSource, PointTarget, float >::PointCloudSource
using PointCloudSourcePtr = typename PointCloudSource::Ptr
using PointCloudSourceConstPtr = typename PointCloudSource::ConstPtr
using PointCloudTarget = typename Registration< PointSource, PointTarget, float >::PointCloudTarget
using PointCloudTargetPtr = typename PointCloudTarget::Ptr
using PointCloudTargetConstPtr = typename PointCloudTarget::ConstPtr
using PointIndicesPtr = PointIndices::Ptr
using PointIndicesConstPtr = PointIndices::ConstPtr
using Ptr = shared_ptr< IterativeClosestPoint< PointSource, PointTarget, float > >
using ConstPtr = shared_ptr< const IterativeClosestPoint< PointSource, PointTarget, float > >
using Matrix4 = typename Registration< PointSource, PointTarget, float >::Matrix4
- Открытые типы, наследуемые от pcl::Registration< PointSource, PointTarget, float >
using Matrix4 = Eigen::Matrix< float, 4, 4 >
using Ptr = shared_ptr< Registration< PointSource, PointTarget, float > >
using ConstPtr = shared_ptr< const Registration< PointSource, PointTarget, float > >
using CorrespondenceRejectorPtr = pcl::registration::CorrespondenceRejector::Ptr
using KdTree = pcl::search::KdTree< PointTarget >
using KdTreePtr = typename KdTree::Ptr
using KdTreeReciprocal = pcl::search::KdTree< PointSource >
using KdTreeReciprocalPtr = typename KdTreeReciprocal::Ptr
using PointCloudSource = pcl::PointCloud< PointSource >
using PointCloudSourcePtr = typename PointCloudSource::Ptr
using PointCloudSourceConstPtr = typename PointCloudSource::ConstPtr
using PointCloudTarget = pcl::PointCloud< PointTarget >
using PointCloudTargetPtr = typename PointCloudTarget::Ptr
using PointCloudTargetConstPtr = typename PointCloudTarget::ConstPtr
using PointRepresentationConstPtr = typename KdTree::PointRepresentationConstPtr
using TransformationEstimation = typename pcl::registration::TransformationEstimation< PointSource, PointTarget, float >
using TransformationEstimationPtr = typename TransformationEstimation::Ptr
using TransformationEstimationConstPtr = typename TransformationEstimation::ConstPtr
using CorrespondenceEstimation = pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, float >
using CorrespondenceEstimationPtr = typename CorrespondenceEstimation::Ptr
using CorrespondenceEstimationConstPtr = typename CorrespondenceEstimation::ConstPtr
using UpdateVisualizerCallbackSignature = void(const pcl::PointCloud< PointSource > &, const pcl::Indices &, const pcl::PointCloud< PointTarget > &, const pcl::Indices &)
Сигнатура обратного вызова функции, обновляющей положение промежуточного исходного облака точек во время его регистрации относительно целевого облака точек. Подробнее...
- Открытые типы, наследуемые от pcl::PCLBase< PointSource >
using PointCloud = pcl::PointCloud< PointSource >
using PointCloudPtr = typename PointCloud::Ptr
using PointCloudConstPtr = typename PointCloud::ConstPtr
using PointIndicesPtr = PointIndices::Ptr
using PointIndicesConstPtr = PointIndices::ConstPtr

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

IterativeClosestPointWithNormals ()
Пустой конструктор. Подробнее...
~IterativeClosestPointWithNormals () override=default
Пустой деструктор. Подробнее...
void setUseSymmetricObjective (bool use_symmetric_objective)
Задать, следует ли использовать симметричную целевую функцию. Подробнее...
bool getUseSymmetricObjective () const
Получить сведения о том, используется ли симметричная целевая функция. Подробнее...
void setEnforceSameDirectionNormals (bool enforce_same_direction_normals)
Задать, следует ли инвертировать нормали исходного или целевого облака для каждой точки отдельно, чтобы они были направлены одинаково. Подробнее...
bool getEnforceSameDirectionNormals () const
Получить сведения о том, инвертируются ли нормали исходного или целевого облака для каждой точки отдельно, чтобы они были направлены одинаково. Подробнее...
- Общедоступные функции-члены, унаследованные от pcl::IterativeClosestPoint< PointSource, PointTarget, float >
IterativeClosestPoint ()
Пустой конструктор. Подробнее...
IterativeClosestPoint (const IterativeClosestPoint &)=delete
Поскольку convergence_criteria_ содержит ссылки на члены класса, корректно реализовать операции копирования и перемещения непросто. Подробнее...
IterativeClosestPoint (IterativeClosestPoint &&)=delete
IterativeClosestPoint & operator= (const IterativeClosestPoint &)=delete
IterativeClosestPoint & operator= (IterativeClosestPoint &&)=delete
~IterativeClosestPoint () override=default
Пустой деструктор. Подробнее...
pcl::registration::DefaultConvergenceCriteria< float >::Ptr getConvergeCriteria ()
Возвращает указатель на DefaultConvergenceCriteria, используемый классом IterativeClosestPoint. Подробнее...
void setInputSource (const PointCloudSourceConstPtr &cloud) override
Задать указатель на исходные входные данные (например, на облако точек, которое требуется совместить с целевым). Подробнее...
void setInputTarget (const PointCloudTargetConstPtr &cloud) override
Задать указатель на целевые входные данные (например, на облако точек, с которым требуется совместить исходное облако). Подробнее...
void setUseReciprocalCorrespondences (bool use_reciprocal_correspondence)
Задать, следует ли использовать взаимные соответствия. Подробнее...
bool getUseReciprocalCorrespondences () const
Получить сведения о том, используются ли взаимные соответствия. Подробнее...
void setNumberOfThreads (unsigned int nr_threads)
Задать количество используемых потоков. Подробнее...
- Общедоступные функции-члены, унаследованные от pcl::Registration< PointSource, PointTarget, float >
Registration ()
Пустой конструктор. Подробнее...
~Registration () override=default
Деструктор. Подробнее...
void setTransformationEstimation (const TransformationEstimationPtr &te)
Задать указатель на объект оценки преобразования. Подробнее...
void setCorrespondenceEstimation (const CorrespondenceEstimationPtr &ce)
Задать указатель на объект оценки соответствий. Подробнее...
PointCloudSourceConstPtr const getInputSource ()
Получить указатель на входной набор данных — целевое облако точек. Подробнее...
PointCloudTargetConstPtr const getInputTarget ()
Получить указатель на входной набор данных — целевое облако точек. Подробнее...
void setSearchMethodTarget (const KdTreePtr &tree, bool force_no_recompute=false)
Задать указатель на объект поиска, используемый для поиска соответствий в целевом облаке. Подробнее...
KdTreePtr getSearchMethodTarget () const
Получить указатель на метод поиска, используемый для нахождения соответствий в целевом облаке. Подробнее...
void setSearchMethodSource (const KdTreeReciprocalPtr &tree, bool force_no_recompute=false)
Задать указатель на объект поиска, используемый для нахождения соответствий в исходном облаке (обычно применяется при поиске взаимных соответствий). Подробнее...
KdTreeReciprocalPtr getSearchMethodSource () const
Получить указатель на метод поиска, используемый для нахождения соответствий в исходном облаке. Подробнее...
Matrix4 getFinalTransformation ()
Получить итоговую матрицу преобразования, вычисленную методом регистрации. Подробнее...
Matrix4 getLastIncrementalTransformation ()
Получить последнюю матрицу инкрементального преобразования, вычисленную методом регистрации. Подробнее...
void setMaximumIterations (int nr_iterations)
Задать максимальное число итераций внутренней оптимизации. Подробнее...
int getMaximumIterations ()
Получить заданное пользователем максимальное число итераций внутренней оптимизации. Подробнее...
void setRANSACIterations (int ransac_iterations)
Задать число итераций алгоритма RANSAC. Подробнее...
double getRANSACIterations ()
Получить заданное пользователем число итераций алгоритма RANSAC. Подробнее...
void setRANSACOutlierRejectionThreshold (double inlier_threshold)
Задать пороговое расстояние для включения точки во внутренний цикл отбраковки выбросов RANSAC. Подробнее...
double getRANSACOutlierRejectionThreshold ()
Получить заданный пользователем порог расстояния для внутреннего цикла отбраковки выбросов. Подробнее...
void setMaxCorrespondenceDistance (double distance_threshold)
Задать максимальный порог расстояния между двумя соответствующими точками исходного и целевого облаков. Подробнее...
double getMaxCorrespondenceDistance ()
Получить максимальный порог расстояния между двумя соответствующими точками исходного и целевого облаков. Подробнее...
void setTransformationEpsilon (double epsilon)
Задать эпсилон преобразования (максимально допустимую разность квадратов перемещения между двумя последовательными преобразованиями), при которой оптимизация считается сошедшейся к окончательному решению. Подробнее...
double getTransformationEpsilon ()
Получить заданный пользователем эпсилон преобразования (максимально допустимую разность квадратов перемещения между двумя последовательными преобразованиями). Подробнее...
void setTransformationRotationEpsilon (double epsilon)
Задать эпсилон вращения преобразования (максимально допустимую разность вращения между двумя последовательными преобразованиями), при которой оптимизация считается сошедшейся к окончательному решению. Подробнее...
double getTransformationRotationEpsilon ()
Получить заданный пользователем эпсилон вращения преобразования (максимально допустимую разность между двумя последовательными преобразованиями; эпсилон — это cos(угла) в представлении «ось — угол»). Подробнее...
void setEuclideanFitnessEpsilon (double epsilon)
Задать максимально допустимую евклидову ошибку между двумя последовательными шагами цикла ICP, после достижения которой алгоритм считается сошедшимся. Подробнее...
double getEuclideanFitnessEpsilon ()
Получить заданную пользователем максимально допустимую ошибку расстояния, после достижения которой алгоритм считается сошедшимся. Подробнее...
void setPointRepresentation (const PointRepresentationConstPtr &point_representation)
Передать совместно используемый указатель boost на PointRepresentation, который будет использоваться при сравнении точек. Подробнее...
bool registerVisualizationCallback (std::function< UpdateVisualizerCallbackSignature > &visualizerCallback)
Зарегистрировать пользовательскую функцию обратного вызова, которая будет вызываться из потока регистрации для обновления облака точек, полученного после каждой итерации. Подробнее...
double getFitnessScore (double max_range=std::numeric_limits< double >::max())
Получить оценку соответствия по евклидову расстоянию (например, среднее значение квадратов расстояний от исходных точек до целевых). Подробнее...
double getFitnessScore (const std::vector< float > &distances_a, const std::vector< float > &distances_b)
Получить оценку соответствия по евклидову расстоянию (например, среднее значение квадратов расстояний от исходных точек до целевых) на основе двух наборов расстояний между соответствующими точками (расстояний между исходными и целевыми точками). Подробнее...
bool hasConverged () const
Вернуть состояние сходимости после последнего запуска выравнивания. Подробнее...
void align (PointCloudSource &output)
Вызвать алгоритм регистрации, который оценивает преобразование и возвращает преобразованный исходный набор данных (входные данные) в output. Подробнее...
void align (PointCloudSource &output, const Matrix4 &guess)
Вызвать алгоритм регистрации, который оценивает преобразование и возвращает преобразованный исходный набор данных (входные данные) в output. Подробнее...
const std::string & getClassName () const
Метод абстрактного класса для получения имени. Подробнее...
bool initCompute ()
Инициализация внутренних вычислений. Подробнее...
bool initComputeReciprocal ()
Внутренние вычисления при необходимости обратного поиска. Подробнее...
void addCorrespondenceRejector (const CorrespondenceRejectorPtr &rejector)
Добавить в список новый фильтр отбраковки соответствий. Подробнее...
std::vector< CorrespondenceRejectorPtr > getCorrespondenceRejectors ()
Получить список фильтров отбраковки соответствий. Подробнее...
bool removeCorrespondenceRejector (unsigned int i)
Удалить i-й фильтр отбраковки соответствий из списка. Подробнее...
void clearCorrespondenceRejectors ()
Очистить список фильтров отбраковки соответствий. Подробнее...
- открытые функции-члены, унаследованные от pcl::PCLBase< PointSource >
PCLBase ()
Конструктор без параметров. Подробнее...
PCLBase (const PCLBase &base)
Конструктор копирования. Подробнее...
virtual ~PCLBase ()=default
Деструктор. Подробнее...
virtual void setInputCloud (const PointCloudConstPtr &cloud)
Передать указатель на входной набор данных. Подробнее...
PointCloudConstPtr const getInputCloud () const
Получить указатель на входной набор данных облака точек. Подробнее...
virtual void setIndices (const IndicesPtr &indices)
Передать указатель на вектор индексов, представляющий входные данные. Подробнее...
virtual void setIndices (const IndicesConstPtr &indices)
Передать указатель на вектор индексов, представляющий входные данные. Подробнее...
virtual void setIndices (const PointIndicesConstPtr &indices)
Передать указатель на вектор индексов, представляющий входные данные. Подробнее...
virtual void setIndices (std::size_t row_start, std::size_t col_start, std::size_t nb_rows, std::size_t nb_cols)
Задать индексы точек, находящихся в области интереса облака точек. Подробнее...
IndicesPtr getIndices ()
Получить указатель на используемый вектор индексов. Подробнее...
IndicesConstPtr const getIndices () const
Получить указатель на используемый вектор индексов. Подробнее...
const PointSource & operator[] (std::size_t pos) const
Переопределить оператор [] класса PointCloud для сокращения кода. Подробнее...

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

void transformCloud (const PointCloudSource &input, PointCloudSource &output, const Matrix4 &transform) override
Применяет жёсткое преобразование к заданному набору данных. Подробнее...
- Защищённые функции-члены, унаследованные от pcl::IterativeClosestPoint< PointSource, PointTarget, float >
void computeTransformation (PointCloudSource &output, const Matrix4 &guess) override
Метод вычисления жёсткого преобразования с начальным приближением. Подробнее...
virtual void determineRequiredBlobData ()
Проверяет оцениватели и фильтры отбраковки и определяет, нужно ли вызывать их методы установки blob. Подробнее...
- Защищённые функции-члены, унаследованные от pcl::Registration< PointSource, PointTarget, float >
bool searchForNeighbors (const PointCloudSource &cloud, int index, pcl::Indices &indices, std::vector< float > &distances)
Ищет ближайшего соседа для заданной точки. Подробнее...
virtual void computeTransformation (PointCloudSource &output, const Matrix4 &guess)=0
Абстрактный метод вычисления преобразования с начальным приближением. Подробнее...
- Защищённые функции-члены, унаследованные от pcl::PCLBase< PointSource >
bool initCompute ()
Этот метод следует вызывать перед началом фактических вычислений. Подробнее...
bool deinitCompute ()
Этот метод следует вызывать после завершения фактических вычислений. Подробнее...

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

bool use_symmetric_objective_
Тип целевой функции (асимметричная или Подробнее...
bool enforce_same_direction_normals_
Следует ли инвертировать нормали исходного и/или целевого облака, чтобы они были направлены в одну сторону в симметричной целевой функции. Подробнее...
- Защищенные атрибуты, унаследованные от pcl::IterativeClosestPoint< PointSource, PointTarget, float >
std::size_t x_idx_offset_
Смещение полей XYZ. Подробнее...
std::size_t y_idx_offset_
std::size_t z_idx_offset_
std::size_t nx_idx_offset_
Смещение полей нормалей. Подробнее...
std::size_t ny_idx_offset_
std::size_t nz_idx_offset_
bool use_reciprocal_correspondence_
Тип соответствий, используемый для поиска соответствий. Подробнее...
bool source_has_normals_
Внутренняя проверка наличия нормалей в исходном наборе данных. Подробнее...
bool target_has_normals_
Внутренняя проверка наличия нормалей в целевом наборе данных. Подробнее...
bool need_source_blob_
Проверяет, нужны ли оценщикам и фильтрам отбраковки различные данные. Подробнее...
bool need_target_blob_
- Защищенные атрибуты, унаследованные от pcl::Registration< PointSource, PointTarget, float >
std::string reg_name_
Название метода регистрации. Подробнее...
KdTreePtr tree_
Указатель на объект пространственного поиска. Подробнее...
KdTreeReciprocalPtr tree_reciprocal_
Указатель на объект пространственного поиска исходного облака. Подробнее...
int nr_iterations_
Количество итераций внутренней оптимизации (используется внутри класса). Подробнее...
int max_iterations_
Максимальное количество итераций внутренней оптимизации. Подробнее...
int ransac_iterations_
Количество итераций алгоритма RANSAC. Подробнее...
PointCloudTargetConstPtr target_
Целевой набор входных данных — облако точек. Подробнее...
Matrix4 final_transformation_
Итоговая матрица преобразования, вычисленная методом регистрации после N итераций. Подробнее...
Matrix4 transformation_
Матрица преобразования, вычисленная методом регистрации. Подробнее...
Matrix4 previous_transformation_
Предыдущая матрица преобразования, вычисленная методом регистрации (используется внутри класса). Подробнее...
double transformation_epsilon_
Максимальная разница между двумя последовательными преобразованиями, при которой считается, что алгоритм сошелся (задается пользователем). Подробнее...
double transformation_rotation_epsilon_
Максимальная разница углов поворота между двумя последовательными преобразованиями, при которой считается, что алгоритм сошелся (задается пользователем). Подробнее...
double euclidean_fitness_epsilon_
Максимально допустимая евклидова ошибка между двумя последовательными шагами цикла ICP, при достижении которой алгоритм считается сошедшимся. Подробнее...
double corr_dist_threshold_
Максимальный порог расстояния между соответствующими точками исходного и целевого облаков. Подробнее...
double inlier_threshold_
Порог расстояния для внутренних точек во внутреннем цикле отбраковки выбросов RANSAC. Подробнее...
bool converged_
Хранит внутреннее состояние сходимости с учетом параметров, заданных пользователем. Подробнее...
unsigned int min_number_correspondences_
Минимальное количество соответствий, необходимое алгоритму перед попыткой вычислить преобразование. Подробнее...
CorrespondencesPtr correspondences_
Набор соответствий, найденных на этом шаге ICP. Подробнее...
TransformationEstimationPtr transformation_estimation_
Объект TransformationEstimation для вычисления жесткого преобразования 4x4. Подробнее...
CorrespondenceEstimationPtr correspondence_estimation_
Объект CorrespondenceEstimation для поиска соответствий между исходным и целевым облаками. Подробнее...
std::vector< CorrespondenceRejectorPtr > correspondence_rejectors_
Список фильтров отбраковки соответствий. Подробнее...
bool target_cloud_updated_
Переменная, указывающая, появилось ли новое целевое облако, которое необходимо предварительно обработать повторно. Подробнее...
bool source_cloud_updated_
Переменная, указывающая, появилось ли новое исходное облако, которое необходимо предварительно обработать повторно. Подробнее...
bool force_no_recompute_
Флаг, который запрещает повторное вычисление дерева для целевого облака, если установлен. Подробнее...
bool force_no_recompute_reciprocal_
Флаг, который запрещает повторное вычисление дерева для исходного облака, если установлен. Подробнее...
std::function< UpdateVisualizerCallbackSignature > update_visualizer_
Функция обратного вызова для обновления положения промежуточного исходного облака точек при его регистрации относительно целевого облака точек. Подробнее...
- Защищенные атрибуты, унаследованные от pcl::PCLBase< PointSource >
PointCloudConstPtr input_
Входной набор данных — облако точек. Подробнее...
IndicesPtr indices_
Указатель на вектор индексов точек, которые следует использовать. Подробнее...
bool use_indices_
Установите значение true, если используются индексы точек. Подробнее...
bool fake_indices_
Если набор индексов не задан, создаётся набор фиктивных индексов, соответствующий входному PointCloud. Подробнее...

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

- Общедоступные атрибуты, унаследованные от pcl::IterativeClosestPoint< PointSource, PointTarget, float >
pcl::registration::DefaultConvergenceCriteria< float >::Ptr convergence_criteria_

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

template<typename PointSource, typename PointTarget, typename Scalar = float>
class pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >

IterativeClosestPointWithNormals — это специальный вариант IterativeClosestPoint, который по умолчанию использует преобразование, оценённое на основе расстояний от точки до плоскости.

По умолчанию эта реализация использует традиционную целевую функцию «точка — плоскость» и вычисляет расстояния от точек до плоскости с помощью нормалей целевого облака точек. Она также позволяет (через setUseSymmetricObjective) использовать симметричную целевую функцию из [Rusinkiewicz 2019]. В этой целевой функции используются нормали как исходного, так и целевого облака точек; её вычислительная стоимость сопоставима со стоимостью традиционной целевой функции «точка — плоскость», при этом она обеспечивает более высокую скорость сходимости и более широкую область сходимости.

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

Автор
Radu B. Rusu, Matthew Cong

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

Описание псевдонимов типов-членов

ConstPtr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::ConstPtr = shared_ptr< const IterativeClosestPointWithNormals<PointSource, PointTarget, Scalar> >

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

Matrix4

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::Matrix4 = typename IterativeClosestPoint<PointSource, PointTarget, Scalar>::Matrix4

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

PointCloudSource

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::PointCloudSource = typename IterativeClosestPoint<PointSource, PointTarget, Scalar>::PointCloudSource

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

PointCloudTarget

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::PointCloudTarget = typename IterativeClosestPoint<PointSource, PointTarget, Scalar>::PointCloudTarget

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

Ptr

template<typename PointSource , typename PointTarget , typename Scalar = float>
using pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::Ptr = shared_ptr<IterativeClosestPointWithNormals<PointSource, PointTarget, Scalar> >

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

Описание конструктора и деструктора

IterativeClosestPointWithNormals()

template<typename PointSource , typename PointTarget , typename Scalar = float>
pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::IterativeClosestPointWithNormals ( )
inline

Пустой конструктор.

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

Ссылки: pcl::Registration< PointSource, PointTarget, float >::reg_name_, pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::setEnforceSameDirectionNormals() и pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::setUseSymmetricObjective().

~IterativeClosestPointWithNormals()

template<typename PointSource , typename PointTarget , typename Scalar = float>
pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::~IterativeClosestPointWithNormals ( )
overridedefault

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

Описание функций-членов

getEnforceSameDirectionNormals()

template<typename PointSource , typename PointTarget , typename Scalar = float>
bool pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::getEnforceSameDirectionNormals ( ) const
inline

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

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

Ссылки: pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::enforce_same_direction_normals_.

getUseSymmetricObjective()

template<typename PointSource , typename PointTarget , typename Scalar = float>
bool pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::getUseSymmetricObjective ( ) const

Возвращает, используется ли симметричная целевая функция.

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

Ссылки: pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::use_symmetric_objective_.

setEnforceSameDirectionNormals()

template<typename PointSource , typename PointTarget , typename Scalar = float>
void pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::setEnforceSameDirectionNormals ( bool enforce_same_direction_normals )

Задаёт, следует ли инвертировать нормали исходного или целевого облака для каждой точки, чтобы они были направлены в одну сторону.

Применимо только к симметричной целевой функции.

Параметры
[in] enforce_same_direction_normals указывает, следует ли инвертировать нормали исходного или целевого облака для каждой точки, чтобы они были направлены в одну сторону.

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

Ссылки: pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::enforce_same_direction_normals_ и pcl::Registration< PointSource, PointTarget, float >::transformation_estimation_.

Используется в pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::IterativeClosestPointWithNormals().

setUseSymmetricObjective()

template<typename PointSource , typename PointTarget , typename Scalar = float>
void pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::setUseSymmetricObjective ( bool use_symmetric_objective )

Задаёт, следует ли использовать симметричную целевую функцию.

Параметры
[in] use_symmetric_objective указывает, следует ли использовать симметричную целевую функцию

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

Ссылки: pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::enforce_same_direction_normals_, pcl::make_shared(), pcl::Registration< PointSource, PointTarget, float >::transformation_estimation_ и pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::use_symmetric_objective_.

Используется в pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::IterativeClosestPointWithNormals().

transformCloud()

template<typename PointSource , typename PointTarget , typename Scalar >
void pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::transformCloud ( const PointCloudSource & input,
PointCloudSource & output,
const Matrix4 & transform
)
overrideprotectedvirtual

Применяет жёсткое преобразование к заданному набору данных.

Параметры
[in] input входное облако точек
[out] output результирующее выходное облако точек
[in] transform жёсткое преобразование 4x4
Примечание
Можно использовать, если cloud_in равен cloud_out

Переопределяет реализацию из pcl::IterativeClosestPoint< PointSource, PointTarget, float >.

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

Ссылки: pcl::transformPointCloudWithNormals().

Описание данных-членов

enforce_same_direction_normals_

template<typename PointSource , typename PointTarget , typename Scalar = float>
bool pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::enforce_same_direction_normals_
protected

Указывает, следует ли инвертировать нормали исходного и/или целевого облака, чтобы в симметричной целевой функции они были направлены в одну сторону.

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

Используется в pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::getEnforceSameDirectionNormals(), pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::setEnforceSameDirectionNormals() и pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::setUseSymmetricObjective().

use_symmetric_objective_

template<typename PointSource , typename PointTarget , typename Scalar = float>
bool pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::use_symmetric_objective_
protected

Тип целевой функции (асимметричная или

симметричная), используемой для оценки преобразования

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

Используется в pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::getUseSymmetricObjective() и pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::setUseSymmetricObjective().


Документация этого класса создана на основе следующих файлов:
  • pcl/registration/icp.h
  • pcl/registration/impl/icp.hpp

© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_iterative_closest_point_with_normals.html

Spec-Zone.ru

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