Spec-Zone.ru › PointCloudLibrary

GeneralizedIterativeClosestPoint6D интегрирует информацию о цветовом пространстве L*a*b* в алгоритм обобщённого итеративного поиска ближайших точек (GICP). Подробнее...

#include <pcl/registration/gicp6d.h>

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

Классы

class MyPointRepresentation
Пользовательское представление точки для выполнения поисков в kd-дереве более чем по 3 (т. е. Подробнее...

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

GeneralizedIterativeClosestPoint6D (float lab_weight=0.032f)
конструктор. Подробнее...
void setInputSource (const PointCloudSourceConstPtr &cloud) override
Предоставляет указатель на входной источник (например, облако точек, которое требуется совместить с целевым облаком). Подробнее...
void setInputTarget (const PointCloudTargetConstPtr &target) override
Предоставляет указатель на входную цель (например, облако точек, с которым требуется совместить входной источник). Подробнее...
- Общедоступные функции-члены, унаследованные от pcl::GeneralizedIterativeClosestPoint< PointXYZRGBA, PointXYZRGBA >
PCL_MAKE_ALIGNED_OPERATOR_NEW GeneralizedIterativeClosestPoint ()
Конструктор без параметров. Подробнее...
void setInputSource (const PointCloudSourceConstPtr &cloud) override
Предоставляет указатель на входной набор данных. Подробнее...
void setSourceCovariances (const MatricesVectorPtr &covariances)
Предоставляет указатель на ковариационные матрицы входного источника (если они вычислены отдельно!). Подробнее...
void setInputTarget (const PointCloudTargetConstPtr &target) override
Предоставляет указатель на входную цель (например, облако точек, с которым требуется совместить входной источник). Подробнее...
void setTargetCovariances (const MatricesVectorPtr &covariances)
Предоставляет указатель на ковариационные матрицы входной цели (если они вычислены отдельно!). Подробнее...
void estimateRigidTransformationBFGS (const PointCloudSource &cloud_src, const pcl::Indices &indices_src, const PointCloudTarget &cloud_tgt, const pcl::Indices &indices_tgt, Matrix4 &transformation_matrix)
Оценивает преобразование жесткого вращения между исходным и целевым облаками точек с помощью итерационного нелинейного метода BFGS. Подробнее...
void estimateRigidTransformationNewton (const PointCloudSource &cloud_src, const pcl::Indices &indices_src, const PointCloudTarget &cloud_tgt, const pcl::Indices &indices_tgt, Matrix4 &transformation_matrix)
Оценивает преобразование жесткого вращения между исходным и целевым облаками точек с помощью итерационного нелинейного метода Ньютона. Подробнее...
const Eigen::Matrix3d & mahalanobis (std::size_t index) const
void computeRDerivative (const Vector6d &x, const Eigen::Matrix3d &dCost_dR_T, Vector6d &g) const
Вычисляет производную целевой функции по углам вращения. Подробнее...
void setRotationEpsilon (double epsilon)
Задает epsilon вращения (максимально допустимую разницу между двумя последовательными вращениями), при которой оптимизация считается сошедшейся к окончательному решению. Подробнее...
double getRotationEpsilon () const
Возвращает заданное пользователем значение epsilon вращения (максимально допустимую разницу между двумя последовательными вращениями). Подробнее...
void setCorrespondenceRandomness (int k)
Задает число соседей, используемых при выборе окрестности точки для вычисления ковариационных матриц. Подробнее...
int getCorrespondenceRandomness () const
Возвращает заданное пользователем число соседей, используемых при вычислении ковариационных матриц. Подробнее...
void useBFGS ()
Использует оптимизатор BFGS вместо оптимизатора Ньютона, используемого по умолчанию. Подробнее...
void setMaximumOptimizerIterations (int max)
Задает максимальное число итераций на этапе оптимизации. Подробнее...
int getMaximumOptimizerIterations () const
Возвращает максимальное число итераций на этапе оптимизации. Подробнее...
void setTranslationGradientTolerance (double tolerance)
Задает минимальный порог градиента переноса для досрочного завершения оптимизации. Подробнее...
double getTranslationGradientTolerance () const
Возвращает минимальный порог градиента переноса для досрочного завершения оптимизации. Подробнее...
void setRotationGradientTolerance (double tolerance)
Задает минимальный порог градиента вращения для досрочного завершения оптимизации. Подробнее...
double getRotationGradientTolerance () const
Возвращает минимальный порог градиента вращения для досрочного завершения оптимизации. Подробнее...
void setNumberOfThreads (unsigned int nr_threads=0)
Инициализирует планировщик и задает число используемых потоков. Подробнее...
- Общедоступные функции-члены, унаследованные от pcl::IterativeClosestPoint< PointXYZRGBA, PointXYZRGBA, 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, Scalar >
Registration ()
Конструктор без параметров. Подробнее...
~Registration () override=default
Деструктор. Подробнее...
void setTransformationEstimation (const TransformationEstimationPtr &te)
Передать указатель на объект оценки преобразования. Подробнее...
void setCorrespondenceEstimation (const CorrespondenceEstimationPtr &ce)
Передать указатель на объект оценки соответствий. Подробнее...
virtual void setInputSource (const PointCloudSourceConstPtr &cloud)
Передать указатель на исходные входные данные (например, облако точек, которое требуется совместить с целевым облаком). Подробнее...
PointCloudSourceConstPtr const getInputSource ()
Получить указатель на целевой набор входных данных — облако точек. Подробнее...
virtual void setInputTarget (const PointCloudTargetConstPtr &cloud)
Передать указатель на целевые входные данные (например, облако точек, с которым требуется совместить исходное облако). Подробнее...
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 operator[] для сокращения кода. Подробнее...

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

void computeTransformation (PointCloudSource &output, const Eigen::Matrix4f &guess) override
Метод вычисления жёсткого преобразования с начальным приближением. Подробнее...
bool searchForNeighbors (const PointXYZLAB &query, pcl::Indices &index, std::vector< float > &distance)
Поиск ближайшего соседа для заданной точки. Подробнее...
- Защищённые функции-члены, унаследованные от pcl::GeneralizedIterativeClosestPoint< PointXYZRGBA, PointXYZRGBA >
void computeCovariances (typename pcl::PointCloud< PointT >::ConstPtr cloud, const typename pcl::search::KdTree< PointT >::Ptr tree, MatricesVector &cloud_covariances)
Вычислить ковариационные матрицы точек на основе K ближайших соседей. Подробнее...
double matricesInnerProd (const Eigen::MatrixXd &mat1, const Eigen::MatrixXd &mat2) const
void computeTransformation (PointCloudSource &output, const Matrix4 &guess) override
Метод вычисления жёсткого преобразования с начальным приближением. Подробнее...
bool searchForNeighbors (const PointXYZRGBA &query, pcl::Indices &index, std::vector< float > &distance)
Поиск ближайшего соседа для заданной точки. Подробнее...
void applyState (Matrix4 &t, const Vector6d &x) const
Вычислить матрицу преобразования на основе матрицы преобразования Подробнее...
- Защищённые функции-члены, унаследованные от pcl::IterativeClosestPoint< PointXYZRGBA, PointXYZRGBA, float >
virtual void transformCloud (const PointCloudSource &input, PointCloudSource &output, const Matrix4 &transform)
Применить жёсткое преобразование к заданному набору данных. Подробнее...
void computeTransformation (PointCloudSource &output, const Matrix4 &guess) override
Метод вычисления жёсткого преобразования с начальным приближением. Подробнее...
virtual void determineRequiredBlobData ()
Проверяет оценщики и фильтры, определяя, нужно ли вызывать для них методы установки blob. Подробнее...
- Защищённые функции-члены, унаследованные от pcl::Registration< PointSource, PointTarget, Scalar >
bool searchForNeighbors (const PointCloudSource &cloud, int index, pcl::Indices &indices, std::vector< float > &distances)
Поиск ближайшего соседа для заданной точки. Подробнее...
- Защищённые функции-члены, унаследованные от pcl::PCLBase< PointSource >
bool initCompute ()
Этот метод следует вызывать перед началом фактических вычислений. Подробнее...
bool deinitCompute ()
Этот метод следует вызывать после завершения фактических вычислений. Подробнее...

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

pcl::PointCloud< PointXYZLAB >::Ptr cloud_lab_
Содержит преобразованное облако данных (LAB). Подробнее...
pcl::PointCloud< PointXYZLAB >::Ptr target_lab_
Содержит преобразованное облако модели (LAB). Подробнее...
KdTreeFLANN< PointXYZLAB > target_tree_lab_
6D-дерево для поиска в облаке модели. Подробнее...
float lab_weight_
Вес цвета. Подробнее...
MyPointRepresentation point_rep_
Обеспечивает 6D-поиск с помощью класса kd-tree с учетом веса цвета. Подробнее...
- Защищенные атрибуты, унаследованные от pcl::GeneralizedIterativeClosestPoint< PointXYZRGBA, PointXYZRGBA >
int k_correspondences_
Количество соседей, используемых для вычисления ковариаций. Подробнее...
double gicp_epsilon_
Константа эпсилон из статьи о GICP; это НЕ допуск сходимости. Значение по умолчанию: 0.001. Подробнее...
double rotation_epsilon_
Константа эпсилон для ошибки вращения. Подробнее...
Matrix4 base_transformation_
Базовое преобразование Подробнее...
const PointCloudSource * tmp_src_
Временный указатель на исходный набор данных. Подробнее...
const PointCloudTarget * tmp_tgt_
Временный указатель на целевой набор данных. Подробнее...
const pcl::Indices * tmp_idx_src_
Временный указатель на индексы исходного набора данных. Подробнее...
const pcl::Indices * tmp_idx_tgt_
Временный указатель на индексы целевого набора данных. Подробнее...
MatricesVectorPtr input_covariances_
Ковариации точек входного облака. Подробнее...
MatricesVectorPtr target_covariances_
Ковариации точек целевого облака. Подробнее...
std::vector< Eigen::Matrix3d > mahalanobis_
Хранилище матриц Махаланобиса. Подробнее...
int max_inner_iterations_
Максимальное количество оптимизаций Подробнее...
double translation_gradient_tolerance_
Минимальный градиент перемещения для досрочной остановки оптимизации Подробнее...
double rotation_gradient_tolerance_
Минимальный градиент вращения для досрочной остановки оптимизации Подробнее...
std::function< void(const pcl::PointCloud< PointXYZRGBA > &cloud_src, const pcl::Indices &src_indices, const pcl::PointCloud< PointXYZRGBA > &cloud_tgt, const pcl::Indices &tgt_indices, Matrix4 &transformation_matrix)> rigid_transformation_estimation_
- Защищенные атрибуты, унаследованные от pcl::IterativeClosestPoint< PointXYZRGBA, PointXYZRGBA, 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, Scalar >
std::string reg_name_
Название метода регистрации. Подробнее...
KdTreePtr tree_
Указатель на объект пространственного поиска. Подробнее...
KdTreeReciprocalPtr tree_reciprocal_
Указатель на объект пространственного поиска исходного облака. Подробнее...
int nr_iterations_ {0}
Количество выполненных итераций внутренней оптимизации (используется внутри класса). Подробнее...
int max_iterations_ {10}
Максимальное количество итераций внутренней оптимизации. Подробнее...
int ransac_iterations_ {0}
Количество итераций RANSAC. Подробнее...
PointCloudTargetConstPtr target_
Целевой набор входных данных — облако точек. Подробнее...
Matrix4 final_transformation_
Итоговая матрица преобразования, оцененная методом регистрации после N итераций. Подробнее...
Matrix4 transformation_
Матрица преобразования, оцененная методом регистрации. Подробнее...
Matrix4 previous_transformation_
Предыдущая матрица преобразования, оцененная методом регистрации (используется внутри класса). Подробнее...
double transformation_epsilon_ {0.0}
Максимальная разница между двумя последовательными преобразованиями, при которой считается, что алгоритм сошелся (задается пользователем). Подробнее...
double transformation_rotation_epsilon_ {0.0}
Максимальная разница углов поворота между двумя последовательными преобразованиями, при которой считается, что алгоритм сошелся (задается пользователем). Подробнее...
double euclidean_fitness_epsilon_
Максимально допустимая евклидова ошибка между двумя последовательными шагами цикла ICP, при достижении которой алгоритм считается сошедшимся. Подробнее...
double corr_dist_threshold_
Максимальный порог расстояния между двумя соответствующими точками в исходном и целевом облаках. Подробнее...
double inlier_threshold_ {0.05}
Порог расстояния для внутренних точек во внутреннем цикле отбрасывания выбросов RANSAC. Подробнее...
bool converged_ {false}
Хранит внутреннее состояние сходимости с учетом параметров, заданных пользователем. Подробнее...
unsigned int min_number_correspondences_ {3}
Минимальное число соответствий, необходимое алгоритму для оценки преобразования. Подробнее...
CorrespondencesPtr correspondences_
Набор соответствий, определенный на данном шаге ICP. Подробнее...
TransformationEstimationPtr transformation_estimation_
Объект TransformationEstimation, используемый для вычисления жесткого преобразования 4x4. Подробнее...
CorrespondenceEstimationPtr correspondence_estimation_
Объект CorrespondenceEstimation, используемый для определения соответствий между исходным и целевым облаками точек. Подробнее...
std::vector< CorrespondenceRejectorPtr > correspondence_rejectors_
Список используемых средств отбрасывания соответствий. Подробнее...
bool target_cloud_updated_ {true}
Переменная, показывающая, появилось ли новое целевое облако и требуется ли его повторная предварительная обработка. Подробнее...
bool source_cloud_updated_ {true}
Переменная, показывающая, появилось ли новое исходное облако и требуется ли его повторная предварительная обработка. Подробнее...
bool force_no_recompute_ {false}
Флаг, который при установке запрещает повторное вычисление дерева, работающего с целевым облаком. Подробнее...
bool force_no_recompute_reciprocal_ {false}
Флаг, который при установке запрещает повторное вычисление дерева, работающего с исходным облаком. Подробнее...
std::function< UpdateVisualizerCallbackSignature > update_visualizer_
Функция обратного вызова для обновления положения исходного облака точек на промежуточных этапах его регистрации относительно целевого облака точек. Подробнее...
- Защищенные атрибуты, унаследованные от pcl::PCLBase< PointSource >
PointCloudConstPtr input_
Входной набор данных облака точек. Подробнее...
IndicesPtr indices_
Указатель на вектор используемых индексов точек. Подробнее...
bool use_indices_
Установите значение true, если используются индексы точек. Подробнее...
bool fake_indices_
Если набор индексов не задан, создается набор фиктивных индексов, соответствующий входному облаку точек. Подробнее...

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

- Общедоступные типы, унаследованные от pcl::GeneralizedIterativeClosestPoint< PointXYZRGBA, PointXYZRGBA >
using PointCloudSource = pcl::PointCloud< PointXYZRGBA >
using PointCloudSourcePtr = typename PointCloudSource::Ptr
using PointCloudSourceConstPtr = typename PointCloudSource::ConstPtr
using PointCloudTarget = pcl::PointCloud< PointXYZRGBA >
using PointCloudTargetPtr = typename PointCloudTarget::Ptr
using PointCloudTargetConstPtr = typename PointCloudTarget::ConstPtr
using PointIndicesPtr = PointIndices::Ptr
using PointIndicesConstPtr = PointIndices::ConstPtr
using MatricesVector = std::vector< Eigen::Matrix3d, Eigen::aligned_allocator< Eigen::Matrix3d > >
using MatricesVectorPtr = shared_ptr< MatricesVector >
using MatricesVectorConstPtr = shared_ptr< const MatricesVector >
using InputKdTree = typename Registration< PointXYZRGBA, PointXYZRGBA, float >::KdTree
using InputKdTreePtr = typename Registration< PointXYZRGBA, PointXYZRGBA, float >::KdTreePtr
using Ptr = shared_ptr< GeneralizedIterativeClosestPoint< PointXYZRGBA, PointXYZRGBA, float > >
using ConstPtr = shared_ptr< const GeneralizedIterativeClosestPoint< PointXYZRGBA, PointXYZRGBA, float > >
using Vector3 = typename Eigen::Matrix< float, 3, 1 >
using Vector4 = typename Eigen::Matrix< float, 4, 1 >
using Vector6d = Eigen::Matrix< double, 6, 1 >
using Matrix3 = typename Eigen::Matrix< float, 3, 3 >
using Matrix4 = typename IterativeClosestPoint< PointXYZRGBA, PointXYZRGBA, float >::Matrix4
using Matrix6d = Eigen::Matrix< double, 6, 6 >
using AngleAxis = typename Eigen::AngleAxis< float >
- Общедоступные типы, унаследованные от pcl::IterativeClosestPoint< PointXYZRGBA, PointXYZRGBA, float >
using PointCloudSource = typename Registration< PointXYZRGBA, PointXYZRGBA, float >::PointCloudSource
using PointCloudSourcePtr = typename PointCloudSource::Ptr
using PointCloudSourceConstPtr = typename PointCloudSource::ConstPtr
using PointCloudTarget = typename Registration< PointXYZRGBA, PointXYZRGBA, 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< PointXYZRGBA, PointXYZRGBA, float > >
using ConstPtr = shared_ptr< const IterativeClosestPoint< PointXYZRGBA, PointXYZRGBA, float > >
using Matrix4 = typename Registration< PointXYZRGBA, PointXYZRGBA, float >::Matrix4
- Общедоступные типы, унаследованные от pcl::Registration< PointSource, PointTarget, Scalar >
using Matrix4 = Eigen::Matrix< Scalar, 4, 4 >
using Ptr = shared_ptr< Registration< PointSource, PointTarget, Scalar > >
using ConstPtr = shared_ptr< const Registration< PointSource, PointTarget, Scalar > >
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, Scalar >
using TransformationEstimationPtr = typename TransformationEstimation::Ptr
using TransformationEstimationConstPtr = typename TransformationEstimation::ConstPtr
using CorrespondenceEstimation = pcl::registration::CorrespondenceEstimationBase< PointSource, PointTarget, Scalar >
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
- Общедоступные атрибуты, унаследованные от pcl::IterativeClosestPoint< PointXYZRGBA, PointXYZRGBA, float >
pcl::registration::DefaultConvergenceCriteria< float >::Ptr convergence_criteria_

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

GeneralizedIterativeClosestPoint6D интегрирует информацию о цветовом пространстве L*a*b* в алгоритм обобщённого итеративного поиска ближайшей точки (GICP).

Рекомендуется использовать PointXYZRGBA.

Примечание
При использовании этого кода в научной работе просим сослаться на публикацию:
  • M. Korn, M. Holzkothen, J. Pauli Color Supported Generalized-ICP. In Proceedings of VISAPP 2014 - International Conference on Computer Vision Theory and Applications, Lisbon, Portugal, January 2014.
Автор
Martin Holzkothen, Michael Korn

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

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

GeneralizedIterativeClosestPoint6D()

pcl::GeneralizedIterativeClosestPoint6D::GeneralizedIterativeClosestPoint6D ( float lab_weight = 0.032f )

Конструктор.

Параметры
[in] lab_weight вес цвета

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

computeTransformation()

void pcl::GeneralizedIterativeClosestPoint6D::computeTransformation ( PointCloudSource & output,
const Eigen::Matrix4f & guess
)
overrideprotected

Метод вычисления жёсткого преобразования с начальным приближением.

Параметры
output преобразованный набор входных облаков точек с применённым найденным жёстким преобразованием
guess начальное приближение преобразования, которое требуется вычислить

searchForNeighbors()

bool pcl::GeneralizedIterativeClosestPoint6D::searchForNeighbors ( const PointXYZLAB & query,
pcl::Indices & index,
std::vector< float > & distance
)
inlineprotected

Поиск ближайшего соседа для заданной точки.

Параметры
query точка, для которой нужно найти ближайшего соседа
index вектор размера 1 для сохранения индекса найденного ближайшего соседа
distance вектор размера 1 для сохранения расстояния до найденного ближайшего соседа

setInputSource()

void pcl::GeneralizedIterativeClosestPoint6D::setInputSource ( const PointCloudSourceConstPtr & cloud )
override

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

Параметры
[in] cloud входное исходное облако точек

setInputTarget()

void pcl::GeneralizedIterativeClosestPoint6D::setInputTarget ( const PointCloudTargetConstPtr & target )
override

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

Параметры
[in] target входное целевое облако точек

Описание данных класса

cloud_lab_

pcl::PointCloud<PointXYZLAB>::Ptr pcl::GeneralizedIterativeClosestPoint6D::cloud_lab_
protected

Содержит облако данных, преобразованное в формат LAB.

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

lab_weight_

float pcl::GeneralizedIterativeClosestPoint6D::lab_weight_
protected

Вес цвета.

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

point_rep_

MyPointRepresentation pcl::GeneralizedIterativeClosestPoint6D::point_rep_
protected

Обеспечивает 6-мерный поиск с помощью класса kd-tree с учётом веса цвета.

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

target_lab_

pcl::PointCloud<PointXYZLAB>::Ptr pcl::GeneralizedIterativeClosestPoint6D::target_lab_
protected

Содержит облако модели, преобразованное в формат LAB.

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

target_tree_lab_

KdTreeFLANN<PointXYZLAB> pcl::GeneralizedIterativeClosestPoint6D::target_tree_lab_
protected

6-мерное дерево для поиска в облаке модели.

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


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

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

Spec-Zone.ru

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