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 &)
The callback signature to the function updating intermediate source point cloud position during it's registration to the target point cloud. More...
- Public Types inherited from 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
Получить, используются ли взаимные соответствия или нет. Подробнее...
- Общедоступные члены-функции, унаследованные от 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 shared указатель на 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
Возвращает состояние сходимости после последнего вызова align. Подробнее...
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 operator[] для сокращения кода. Подробнее...

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

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 ()
Проверяет Estimators и Rejectors и определяет, нужно ли вызывать их методы установки 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_
Если набор индексов не задан, мы создаём набор фиктивных индексов, имитирующих входное облако точек. Подробнее...

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

- Публичные атрибуты, унаследованные от 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 с трансляциями, полученными из вычитания среднего значения, чтобы получить преобразование между исходными облаками точек.

Автор
Раду Б. Русу, Мэттью Конг

Определение в строке 338 файла 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> >

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

Matrix4

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

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

PointCloudSource

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

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

PointCloudTarget

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

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

Ptr

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

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

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

IterativeClosestPointWithNormals()

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

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

Определение в строке 362 файла 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

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

Определение в строке 431 файла 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
inline

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

Определение в строке 402 файла 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 )
inline

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

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

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

Определение в строке 415 файла 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 )
inline

Установить использование симметричной целевой функции.

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

Определение в строке 379 файла 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 >.

Определение в строке 315 файла 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

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

Определение в строке 453 файла 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

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

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

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

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


The documentation for this class was generated from the following files:
  • 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