IterativeClosestPointWithNormals — частный случай IterativeClosestPoint, в котором по умолчанию используется преобразование, оценённое на основе расстояний от точки до плоскости. Подробнее...
#include <pcl/registration/icp.h>
Открытые типы | |
| 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 > > |
|
| |
| 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 |
|
| |
| 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 &) |
| Сигнатура обратного вызова функции, обновляющей положение промежуточного исходного облака точек во время его регистрации относительно целевого облака точек. Подробнее... |
|
|
| |
| 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 |
| Получить сведения о том, инвертируются ли нормали исходного или целевого облака для каждой точки отдельно, чтобы они были направлены одинаково. Подробнее... |
|
|
| |
| 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) |
| Задать количество используемых потоков. Подробнее... |
|
|
| |
| 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 () |
| Очистить список фильтров отбраковки соответствий. Подробнее... |
|
|
| |
| 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 |
| Применяет жёсткое преобразование к заданному набору данных. Подробнее... |
|
|
| |
| void | computeTransformation (PointCloudSource &output, const Matrix4 &guess) override |
| Метод вычисления жёсткого преобразования с начальным приближением. Подробнее... |
|
| virtual void | determineRequiredBlobData () |
| Проверяет оцениватели и фильтры отбраковки и определяет, нужно ли вызывать их методы установки blob. Подробнее... |
|
|
| |
| bool | searchForNeighbors (const PointCloudSource &cloud, int index, pcl::Indices &indices, std::vector< float > &distances) |
| Ищет ближайшего соседа для заданной точки. Подробнее... |
|
| virtual void | computeTransformation (PointCloudSource &output, const Matrix4 &guess)=0 |
| Абстрактный метод вычисления преобразования с начальным приближением. Подробнее... |
|
|
| |
| bool | initCompute () |
| Этот метод следует вызывать перед началом фактических вычислений. Подробнее... |
|
| bool | deinitCompute () |
| Этот метод следует вызывать после завершения фактических вычислений. Подробнее... |
|
Защищенные атрибуты | |
| bool | use_symmetric_objective_ |
| Тип целевой функции (асимметричная или Подробнее... |
|
| bool | enforce_same_direction_normals_ |
| Следует ли инвертировать нормали исходного и/или целевого облака, чтобы они были направлены в одну сторону в симметричной целевой функции. Подробнее... |
|
|
| |
| 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_ |
|
| |
| 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_ |
| Функция обратного вызова для обновления положения промежуточного исходного облака точек при его регистрации относительно целевого облака точек. Подробнее... |
|
|
| |
| PointCloudConstPtr | input_ |
| Входной набор данных — облако точек. Подробнее... |
|
| IndicesPtr | indices_ |
| Указатель на вектор индексов точек, которые следует использовать. Подробнее... |
|
| bool | use_indices_ |
| Установите значение true, если используются индексы точек. Подробнее... |
|
| bool | fake_indices_ |
| Если набор индексов не задан, создаётся набор фиктивных индексов, соответствующий входному PointCloud. Подробнее... |
|
Дополнительные унаследованные члены | |
|
| |
| 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 с переносами, использованными при центрировании, чтобы получить преобразование между исходными облаками точек.
Описание псевдонимов типов-членов
ConstPtr
| using pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::ConstPtr = shared_ptr< const IterativeClosestPointWithNormals<PointSource, PointTarget, Scalar> > |
Matrix4
| using pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::Matrix4 = typename IterativeClosestPoint<PointSource, PointTarget, Scalar>::Matrix4 |
PointCloudSource
| using pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::PointCloudSource = typename IterativeClosestPoint<PointSource, PointTarget, Scalar>::PointCloudSource |
PointCloudTarget
| using pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::PointCloudTarget = typename IterativeClosestPoint<PointSource, PointTarget, Scalar>::PointCloudTarget |
Ptr
| using pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::Ptr = shared_ptr<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()
| overridedefault |
Пустой деструктор.
Описание функций-членов
getEnforceSameDirectionNormals()
| inline |
getUseSymmetricObjective()
|
Возвращает, используется ли симметричная целевая функция.
Определение в строке 404 файла icp.h.
Ссылки: pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::use_symmetric_objective_.
setEnforceSameDirectionNormals()
|
Задаёт, следует ли инвертировать нормали исходного или целевого облака для каждой точки, чтобы они были направлены в одну сторону.
Применимо только к симметричной целевой функции.
- Параметры
-
[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()
|
Задаёт, следует ли использовать симметричную целевую функцию.
- Параметры
-
[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()
| overrideprotectedvirtual |
Применяет жёсткое преобразование к заданному набору данных.
- Параметры
-
[in] input входное облако точек [out] output результирующее выходное облако точек [in] transform жёсткое преобразование 4x4
- Примечание
- Можно использовать, если cloud_in равен cloud_out
Переопределяет реализацию из pcl::IterativeClosestPoint< PointSource, PointTarget, float >.
Описание данных-членов
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_
| protected |
Тип целевой функции (асимметричная или
симметричная), используемой для оценки преобразования
Определение в строке 452 файла icp.h.
Используется в pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::getUseSymmetricObjective() и pcl::IterativeClosestPointWithNormals< PointSource, PointTarget, Scalar >::setUseSymmetricObjective().
Документация этого класса создана на основе следующих файлов:
© 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