MovingLeastSquares представляет реализацию алгоритма MLS (Moving Least Squares) для сглаживания данных и улучшения оценки нормалей. Подробнее...
#include <pcl/surface/mls.h>
Вложенные классы | |
| class | MLSVoxelGrid |
| Минималистичная реализация воксельной сетки, необходимая для увеличения плотности облака точек. Подробнее... |
|
Открытые функции-члены | |
| MovingLeastSquares () | |
| Пустой конструктор. Подробнее... |
|
| ~MovingLeastSquares () override=default | |
| Пустой деструктор. Подробнее... |
|
| void | setComputeNormals (bool compute_normals) |
| Задать, должен ли алгоритм также сохранять вычисленные нормали. Подробнее... |
|
| void | setSearchMethod (const KdTreePtr &tree) |
| Передать указатель на объект поиска. Подробнее... |
|
| KdTreePtr | getSearchMethod () const |
| Получить указатель на используемый метод поиска. Подробнее... |
|
| void | setPolynomialOrder (int order) |
| Задать порядок аппроксимирующего полинома. Подробнее... |
|
| int | getPolynomialOrder () const |
| Получить порядок аппроксимирующего полинома. Подробнее... |
|
| void | setSearchRadius (double radius) |
| Задать радиус сферы для определения k ближайших соседей, используемых при аппроксимации. Подробнее... |
|
| double | getSearchRadius () const |
| Получить радиус сферы, используемый для определения k ближайших соседей. Подробнее... |
|
| void | setSqrGaussParam (double sqr_gauss_param) |
| Задать параметр весовой функции, зависящей от расстояния до соседей (обычно лучше всего подходит квадрат радиуса поиска). Подробнее... |
|
| double | getSqrGaussParam () const |
| Получить параметр весовой функции, зависящей от расстояния до соседей. Подробнее... |
|
| void | setUpsamplingMethod (UpsamplingMethod method) |
| Задать метод увеличения плотности выборки. Подробнее... |
|
| void | setDistinctCloud (PointCloudInConstPtr distinct_cloud) |
| Задать отдельное облако точек, используемое методом увеличения плотности выборки DISTINCT_CLOUD. Подробнее... |
|
| PointCloudInConstPtr | getDistinctCloud () const |
| Получить отдельное облако точек, используемое методом увеличения плотности выборки DISTINCT_CLOUD. Подробнее... |
|
| void | setUpsamplingRadius (double radius) |
| Задать радиус окружности в локальной плоскости точки, по которой будут располагаться точки выборки. Подробнее... |
|
| double | getUpsamplingRadius () const |
| Получить радиус окружности в локальной плоскости точки, по которой будут располагаться точки выборки. Подробнее... |
|
| void | setUpsamplingStepSize (double step_size) |
| Задать шаг дискретизации локальной плоскости. Подробнее... |
|
| double | getUpsamplingStepSize () const |
| Получить шаг дискретизации локальной плоскости. Подробнее... |
|
| void | setPointDensity (int desired_num_points_in_radius) |
| Задать желаемое количество точек в пределах радиуса поиска. Подробнее... |
|
| int | getPointDensity () const |
| Получить параметр, задающий желаемое количество точек в пределах радиуса поиска. Подробнее... |
|
| void | setDilationVoxelSize (float voxel_size) |
| Задать размер вокселя для воксельной сетки. Подробнее... |
|
| float | getDilationVoxelSize () const |
| Получить размер вокселя для воксельной сетки. Подробнее... |
|
| void | setDilationIterations (int iterations) |
| Задать количество шагов расширения воксельной сетки. Подробнее... |
|
| int | getDilationIterations () const |
| Получить количество шагов расширения воксельной сетки. Подробнее... |
|
| void | setCacheMLSResults (bool cache_mls_results) |
| Задать, следует ли сохранять результаты mls для каждой точки входного облака. Подробнее... |
|
| bool | getCacheMLSResults () const |
| Получить значение cache_mls_results_ (True, если результаты mls следует сохранять, иначе false). Подробнее... |
|
| void | setProjectionMethod (MLSResult::ProjectionMethod method) |
| Задать метод проецирования точки на поверхность MLS. Подробнее... |
|
| MLSResult::ProjectionMethod | getProjectionMethod () const |
| Получить используемый в данный момент метод проецирования. Подробнее... |
|
| const std::vector< MLSResult > & | getMLSResults () const |
| Получить результаты MLS для входного облака. Подробнее... |
|
| void | setNumberOfThreads (unsigned int threads=1) |
| Задать максимальное количество используемых потоков. Подробнее... |
|
| void | process (PointCloudOut &output) override |
| Базовый метод реконструкции поверхности для всех точек, заданных с помощью <setInputCloud (), setIndices ()> Подробнее... |
|
| PointIndicesPtr | getCorrespondingIndices () const |
| Получить набор индексов, соответствующих точкам входного облака для каждой точки выходного облака. Подробнее... |
|
|
| |
| CloudSurfaceProcessing () | |
| Конструктор. Подробнее... |
|
| ~CloudSurfaceProcessing () override=default | |
| Пустой деструктор. Подробнее... |
|
|
| |
| 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 PointInT & | operator[] (std::size_t pos) const |
| Переопределяет operator[] класса PointCloud для сокращения кода. Подробнее... |
|
Защищённые функции-члены | |
| int | searchForNeighbors (pcl::index_t index, pcl::Indices &indices, std::vector< float > &sqr_distances) const |
| Выполняет поиск ближайших соседей заданной точки с использованием поиска в радиусе. Подробнее... |
|
| void | computeMLSPointNormal (pcl::index_t index, const pcl::Indices &nn_indices, PointCloudOut &projected_points, NormalCloud &projected_points_normals, PointIndices &corresponding_input_indices, MLSResult &mls_result) const |
| Сглаживает заданную точку и её окрестность методом Moving Least Squares. Подробнее... |
|
| void | addProjectedPointNormal (pcl::index_t index, const Eigen::Vector3d &point, const Eigen::Vector3d &normal, double curvature, PointCloudOut &projected_points, NormalCloud &projected_points_normals, PointIndices &corresponding_input_indices) const |
| Вспомогательная функция для добавления спроецированных точек. Подробнее... |
|
| void | copyMissingFields (const PointInT &point_in, PointOutT &point_out) const |
| void | performProcessing (PointCloudOut &output) override |
| Абстрактный метод реконструкции поверхности. Подробнее... |
|
| void | performUpsampling (PointCloudOut &output) |
| Выполняет увеличение плотности для методов distinct-cloud и voxel-grid. Подробнее... |
|
|
| |
| bool | initCompute () |
| Этот метод следует вызывать перед началом фактических вычислений. Подробнее... |
|
| bool | deinitCompute () |
| Этот метод следует вызывать после завершения фактических вычислений. Подробнее... |
|
Защищённые атрибуты | |
| NormalCloudPtr | normals_ {nullptr} |
| Облако точек, в котором будут храниться вычисленные нормали, если оно задано. Подробнее... |
|
| PointCloudInConstPtr | distinct_cloud_ {nullptr} |
| Отдельное облако точек, которое будет спроецировано на поверхность MLS. Подробнее... |
|
| SearchMethod | search_method_ |
| Шаблон метода поиска индексов. Подробнее... |
|
| KdTreePtr | tree_ {nullptr} |
| Указатель на объект пространственного поиска. Подробнее... |
|
| int | order_ {2} |
| Порядок аппроксимирующего полинома. Подробнее... |
|
| double | search_radius_ {0.0} |
| Радиус поиска ближайших соседей для каждой точки. Подробнее... |
|
| double | sqr_gauss_param_ {0.0} |
| Параметр взвешивания соседей по расстоянию (search_radius_ * search_radius_ обычно подходит). Подробнее... |
|
| bool | compute_normals_ {false} |
| Параметр, указывающий, следует ли вычислять нормали для входного облака. Подробнее... |
|
| UpsamplingMethod | upsample_method_ |
| Параметр, задающий используемый метод увеличения плотности. Подробнее... |
|
| double | upsampling_radius_ {0.0} |
| Радиус окружности в локальной плоскости точки, по которой будут размещаться точки. Подробнее... |
|
| double | upsampling_step_ {0.0} |
| Шаг выборки локальной плоскости. Подробнее... |
|
| int | desired_num_points_in_radius_ {0} |
| Параметр, задающий желаемое количество точек в радиусе поиска. Подробнее... |
|
| bool | cache_mls_results_ {true} |
| Равно true, если результаты MLS для входного облака следует сохранять. Подробнее... |
|
| std::vector< MLSResult > | mls_results_ {} |
| Хранит результат MLS для каждой точки входного облака. Подробнее... |
|
| MLSResult::ProjectionMethod | projection_method_ {MLSResult::SIMPLE} |
| Параметр, задающий используемый метод проецирования. Подробнее... |
|
| unsigned int | threads_ {1} |
| Максимальное количество потоков, которое должен использовать планировщик. Подробнее... |
|
| float | voxel_size_ {1.0f} |
| Размер вокселя для метода увеличения плотности VOXEL_GRID_DILATION. Подробнее... |
|
| int | dilation_iteration_num_ {0} |
| Количество шагов дилатации для метода увеличения плотности VOXEL_GRID_DILATION. Подробнее... |
|
| int | nr_coeff_ {0} |
| Количество коэффициентов, вычисляемое на основе заданного порядка. Подробнее... |
|
| PointIndicesPtr | corresponding_input_indices_ {nullptr} |
| Для каждой выходной точки сохраняет соответствующую ей точку входных данных. Подробнее... |
|
|
| |
| PointCloudConstPtr | input_ |
| Входной набор данных облака точек. Подробнее... |
|
| IndicesPtr | indices_ |
| Указатель на вектор используемых индексов точек. Подробнее... |
|
| bool | use_indices_ |
| Установите значение true, если используются индексы точек. Подробнее... |
|
| bool | fake_indices_ |
| Если набор индексов не задан, создаётся набор фиктивных индексов, соответствующий входному PointCloud. Подробнее... |
|
Подробное описание
template<typename PointInT, typename PointOutT>
class pcl::MovingLeastSquares< PointInT, PointOutT >
MovingLeastSquares представляет собой реализацию алгоритма MLS (Moving Least Squares) для сглаживания данных и повышения точности оценки нормалей.
Также содержит методы увеличения плотности результирующего облака на основе параметрической аппроксимации. Статья: «Вычисление и визуализация поверхностей, заданных наборами точек» Марка Алексы, Йоханнеса Бера, Дэниела Коэн-Ора, Шахара Флейшмана, Дэвида Левина и Клаудио Т. Силвы: www.sci.utah.edu/~shachar/Publications/crpss.pdf
- Примечание
- Версия этапа обработки поддерживает параллельное выполнение с использованием стандарта OpenMP. По сравнению со стандартной версией это увеличивает время выполнения и расход памяти. Методы увеличения плотности DISTINCT_CLOUD и VOXEL_GRID_DILATION не полностью распараллелены: некоторые части алгоритма выполняются только в одном потоке.
Документация псевдонимов типов-членов
ConstPtr
| using pcl::MovingLeastSquares< PointInT, PointOutT >::ConstPtr = shared_ptr<const MovingLeastSquares<PointInT, PointOutT> > |
KdTree
| using pcl::MovingLeastSquares< PointInT, PointOutT >::KdTree = pcl::search::Search<PointInT> |
KdTreePtr
| using pcl::MovingLeastSquares< PointInT, PointOutT >::KdTreePtr = typename KdTree::Ptr |
NormalCloud
| using pcl::MovingLeastSquares< PointInT, PointOutT >::NormalCloud = pcl::PointCloud<pcl::Normal> |
NormalCloudPtr
| using pcl::MovingLeastSquares< PointInT, PointOutT >::NormalCloudPtr = NormalCloud::Ptr |
PointCloudIn
| using pcl::MovingLeastSquares< PointInT, PointOutT >::PointCloudIn = pcl::PointCloud<PointInT> |
PointCloudInConstPtr
| using pcl::MovingLeastSquares< PointInT, PointOutT >::PointCloudInConstPtr = typename PointCloudIn::ConstPtr |
PointCloudInPtr
| using pcl::MovingLeastSquares< PointInT, PointOutT >::PointCloudInPtr = typename PointCloudIn::Ptr |
PointCloudOut
| using pcl::MovingLeastSquares< PointInT, PointOutT >::PointCloudOut = pcl::PointCloud<PointOutT> |
PointCloudOutConstPtr
| using pcl::MovingLeastSquares< PointInT, PointOutT >::PointCloudOutConstPtr = typename PointCloudOut::ConstPtr |
PointCloudOutPtr
| using pcl::MovingLeastSquares< PointInT, PointOutT >::PointCloudOutPtr = typename PointCloudOut::Ptr |
Ptr
| using pcl::MovingLeastSquares< PointInT, PointOutT >::Ptr = shared_ptr<MovingLeastSquares<PointInT, PointOutT> > |
SearchMethod
| using pcl::MovingLeastSquares< PointInT, PointOutT >::SearchMethod = std::function<int (pcl::index_t, double, pcl::Indices &, std::vector<float> &)> |
Описание перечислений-членов
UpsamplingMethod
| enum pcl::MovingLeastSquares::UpsamplingMethod |
| Элементы перечисления | |
|---|---|
| NONE |
Передискретизация не выполняется; только входные точки проецируются на собственные MLS-поверхности. |
| DISTINCT_CLOUD |
Спроецировать точки отдельного облака на MLS-поверхность. |
| SAMPLE_LOCAL_PLANE |
Локальная плоскость каждой входной точки будет дискретизирована по кругу с использованием параметров upsampling_radius_ и upsampling_step_. |
| RANDOM_UNIFORM_DENSITY |
Локальная плоскость каждой входной точки будет дискретизирована с использованием равномерного случайного распределения, так что плотность точек будет постоянной по всему облаку; она задаётся параметром desired_num_points_in_radius_. |
| VOXEL_GRID_DILATION |
Входное облако будет помещено в воксельную сетку с размером вокселей voxel_size_; эта воксельная сетка будет расширена dilation_iteration_num_ раз, а полученные точки будут спроецированы на MLS-поверхность ближайшей точки входного облака; в результате получится облако точек с заполненными отверстиями и постоянной плотностью точек. |
Описание конструкторов и деструкторов
MovingLeastSquares()
| inline |
~MovingLeastSquares()
| overridedefault |
Пустой деструктор.
Описание функций-членов
addProjectedPointNormal()
| protected |
Вспомогательная функция для добавления спроецированных точек.
- Параметры
-
[in] index индекс точки запроса во входном облаке [in] point добавляемая спроецированная точка [in] normal добавляемая нормаль спроецированной точки [in] curvature кривизна спроецированной точки [out] projected_points набор спроецированных точек вокруг точки запроса [out] projected_points_normals нормали, соответствующие спроецированным точкам [out] corresponding_input_indices набор индексов, связывающих каждую точку выходного набора с соответствующей точкой входного набора
Определение в строке 254 файла mls.hpp.
Ссылки: pcl::_Normal::curvature, pcl::PointIndices::indices и pcl::PointCloud< PointT >::push_back().
computeMLSPointNormal()
| protected |
Сглаживает заданную точку и её окрестность методом Moving Least Squares.
- Параметры
-
[in] index индекс точки запроса во входном облаке [in] nn_indices набор индексов ближайших соседей точки pt [out] projected_points набор спроецированных точек вокруг точки запроса (при методе передискретизации NONE возвращается только точка запроса, спроецированная на собственную аппроксимирующую поверхность; при использовании других методов передискретизации возвращается несколько точек) [out] projected_points_normals нормали, соответствующие спроецированным точкам [out] corresponding_input_indices набор индексов, связывающих каждую точку выходного набора с соответствующей точкой входного набора [out] mls_result сохраняет результат MLS для каждой точки входного облака (используется только при передискретизации методами VOXEL_GRID_DILATION или DISTINCT_CLOUD)
Определение в строке 176 файла mls.hpp.
Ссылки: pcl::MLSResult::computeMLSSurface(), pcl::MLSResult::curvature, pcl::MLSResult::MLSProjectionResults::normal, pcl::MLSResult::num_neighbors, pcl::MLSResult::MLSProjectionResults::point, pcl::MLSResult::projectPointSimpleToPolynomialSurface(), pcl::MLSResult::projectPointToMLSPlane() и pcl::MLSResult::projectQueryPoint().
copyMissingFields()
| protected |
Определение в строке 866 файла mls.hpp.
Ссылка: pcl::copyPoint().
getCacheMLSResults()
| inline |
Возвращает значение cache_mls_results_ (true, если результаты MLS следует сохранять, иначе false).
Определение в строке 461 файла mls.h.
Ссылка: pcl::MovingLeastSquares< PointInT, PointOutT >::cache_mls_results_.
getCorrespondingIndices()
| inline |
Возвращает набор индексов, связывающих каждую точку выходного набора с соответствующей точкой входного набора.
Определение в строке 501 файла mls.h.
Ссылка: pcl::MovingLeastSquares< PointInT, PointOutT >::corresponding_input_indices_.
getDilationIterations()
| inline |
Возвращает число шагов расширения воксельной сетки.
- Примечание
- Используется только при методе передискретизации VOXEL_GRID_DILATION
Определение в строке 449 файла mls.h.
Ссылка: pcl::MovingLeastSquares< PointInT, PointOutT >::dilation_iteration_num_.
getDilationVoxelSize()
| inline |
Возвращает размер вокселя для воксельной сетки.
- Примечание
- Используется только при методе передискретизации VOXEL_GRID_DILATION
Определение в строке 436 файла mls.h.
Ссылка: pcl::MovingLeastSquares< PointInT, PointOutT >::voxel_size_.
getDistinctCloud()
| inline |
Возвращает отдельное облако, используемое методом передискретизации DISTINCT_CLOUD.
Определение в строке 379 файла mls.h.
Ссылка: pcl::MovingLeastSquares< PointInT, PointOutT >::distinct_cloud_.
getMLSResults()
| inline |
Возвращает результаты MLS для входного облака.
- Примечание
- Результаты сохраняются, только если был вызван setCacheMLSResults(true) или используется метод передискретизации DISTINCT_CLOUD либо VOXEL_GRID_DILATION.
- Этот вектор соответствует индексам входного облака, поэтому при использовании индексов выходного облака для получения правильных результатов используйте getCorrespondingIndices.
Определение в строке 480 файла mls.h.
Ссылка: pcl::MovingLeastSquares< PointInT, PointOutT >::mls_results_.
getPointDensity()
| inline |
Получить параметр, задающий желаемое количество точек в пределах радиуса поиска.
- Примечание
- Используется только при передискретизации методом RANDOM_UNIFORM_DENSITY
Определение в строке 422 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::desired_num_points_in_radius_.
getPolynomialOrder()
| inline |
Получить порядок аппроксимирующего полинома.
Определение в строке 343 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::order_.
getProjectionMethod()
| inline |
Получить используемый метод проецирования.
Определение в строке 473 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::projection_method_.
getSearchMethod()
| inline |
Получить указатель на используемый метод поиска.
Определение в строке 332 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::tree_.
getSearchRadius()
| inline |
Получить радиус сферы, используемый для определения k ближайших соседей.
Определение в строке 354 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::search_radius_.
getSqrGaussParam()
| inline |
Получить параметр взвешивания соседей на основе расстояния.
Определение в строке 365 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::sqr_gauss_param_.
getUpsamplingRadius()
| inline |
Получить радиус окружности в локальной плоскости точки, по которой будет выполняться выборка.
- Примечание
- Используется только при передискретизации методом SAMPLE_LOCAL_PLANE
Определение в строке 393 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::upsampling_radius_.
getUpsamplingStepSize()
| inline |
Получить размер шага для выборки в локальной плоскости.
- Примечание
- Используется только при передискретизации методом SAMPLE_LOCAL_PLANE
Определение в строке 407 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::upsampling_step_.
performProcessing()
| overrideprotectedvirtual |
Абстрактный метод реконструкции поверхности.
- Параметры
-
[out] output результат реконструкции
Реализует pcl::CloudSurfaceProcessing< PointInT, PointOutT >.
Определение в строке 286 файла mls.hpp.
Ссылки на pcl::PointCloud< PointT >::begin(), pcl::PointCloud< PointT >::end(), pcl::PointCloud< PointT >::insert() и pcl::PointCloud< PointT >::size().
performUpsampling()
| protected |
Выполняет передискретизацию для методов distinct-cloud и voxel-grid.
- Параметры
-
[out] output результат реконструкции
Определение в строке 372 файла mls.hpp.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::MLSVoxelGrid::dilate(), pcl::MovingLeastSquares< PointInT, PointOutT >::MLSVoxelGrid::getPosition(), pcl::MLSResult::MLSProjectionResults::normal, pcl::MLSResult::MLSProjectionResults::point и pcl::MovingLeastSquares< PointInT, PointOutT >::MLSVoxelGrid::voxel_grid_.
process()
| overridevirtual |
Базовый метод реконструкции поверхности для всех точек, заданных в <setInputCloud (), setIndices ()>
- Параметры
-
[out] output результирующая реконструированная модель поверхности
Переопределяет pcl::CloudSurfaceProcessing< PointInT, PointOutT >.
Определение в строке 63 файла mls.hpp.
Ссылки на pcl::PointCloud< PointT >::clear(), pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::size() и pcl::PointCloud< PointT >::width.
searchForNeighbors()
| inlineprotected |
Найти ближайших соседей заданной точки с помощью поиска по радиусу.
- Параметры
-
[in] index индекс точки запроса [out] indices результирующий вектор индексов соседей в пределах search_radius_ [out] sqr_distances результирующие квадраты расстояний от точки запроса до соседей в пределах search_radius_
Определение в строке 639 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::search_method_ и pcl::MovingLeastSquares< PointInT, PointOutT >::search_radius_.
setCacheMLSResults()
| inline |
Задать, следует ли сохранять результаты mls для каждой точки входного облака.
- Параметры
-
[in] cache_mls_results True, если результаты mls следует сохранять, иначе false.
- Примечание
- Параметр cache_mls_results_ принудительно устанавливается в true при использовании метода передискретизации VOXEL_GRID_DILATION или DISTINCT_CLOUD.
- Если расход памяти имеет значение, установите значение false, когда метод передискретизации VOXEL_GRID_DILATION или DISTINCT_CLOUD не используется.
Определение в строке 457 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::cache_mls_results_.
setComputeNormals()
| inline |
Задать, должен ли алгоритм также сохранять вычисленные нормали.
- Примечание
- Это необязательно, но требует подходящего типа выходного облака
Определение в строке 314 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::compute_normals_.
setDilationIterations()
| inline |
Задать количество шагов дилатации воксельной сетки.
- Примечание
- Используется только для метода передискретизации VOXEL_GRID_DILATION
- Параметры
-
[in] iterations количество итераций дилатации
Определение в строке 443 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::dilation_iteration_num_.
setDilationVoxelSize()
| inline |
Задать размер вокселя для воксельной сетки.
- Примечание
- Используется только для метода передискретизации VOXEL_GRID_DILATION
- Параметры
-
[in] voxel_size длина ребра кубического вокселя в воксельной сетке
Определение в строке 429 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::voxel_size_.
setDistinctCloud()
| inline |
Задать отдельное облако, используемое методом передискретизации DISTINCT_CLOUD.
Определение в строке 375 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::distinct_cloud_.
setNumberOfThreads()
| inline |
Задать максимальное количество используемых потоков.
- Параметры
-
threads максимальное количество используемых аппаратных потоков (значение 0 устанавливает количество равным 1)
Определение в строке 486 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::threads_.
setPointDensity()
| inline |
Задать параметр, определяющий желаемое количество точек в пределах радиуса поиска.
- Примечание
- Используется только при передискретизации методом RANDOM_UNIFORM_DENSITY
- Параметры
-
[in] desired_num_points_in_radius желаемое количество точек в выходном облаке внутри сферы радиуса search_radius_ вокруг каждой точки
Определение в строке 415 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::desired_num_points_in_radius_.
setPolynomialOrder()
| inline |
Задать порядок аппроксимирующего полинома.
- Параметры
-
[in] order порядок полинома
- Примечание
- Значение order > 1 указывает на использование полиномиальной аппроксимации.
Определение в строке 339 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::order_.
setProjectionMethod()
| inline |
Задать метод проецирования точки на поверхность MLS.
- Параметры
-
method
- Примечание
- Используется только при включенной полиномиальной аппроксимации.
Определение в строке 468 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::projection_method_.
setSearchMethod()
| inline |
Передать указатель на объект поиска.
- Параметры
-
[in] tree указатель на объект пространственного поиска.
Определение в строке 320 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::search_method_ и pcl::MovingLeastSquares< PointInT, PointOutT >::tree_.
setSearchRadius()
| inline |
Задать радиус сферы, используемой для определения k ближайших соседей при аппроксимации.
- Параметры
-
[in] radius радиус сферы, в которой должны находиться все k ближайших соседей
- Примечание
- Вызов этого метода сбрасывает параметр квадрата Гаусса до значения radius * radius!
Определение в строке 350 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::search_radius_ и pcl::MovingLeastSquares< PointInT, PointOutT >::sqr_gauss_param_.
setSqrGaussParam()
| inline |
Задать параметр для взвешивания соседей в зависимости от расстояния (как правило, лучше всего подходит квадрат радиуса поиска).
- Параметры
-
[in] sqr_gauss_param параметр квадрата Гаусса
Определение в строке 361 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::sqr_gauss_param_.
setUpsamplingMethod()
| inline |
Задать используемый метод передискретизации.
- Параметры
-
method
Определение в строке 371 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::upsample_method_.
setUpsamplingRadius()
| inline |
Задать радиус окружности в локальной плоскости точек, которая будет дискретизирована.
- Примечание
- Используется только при передискретизации методом SAMPLE_LOCAL_PLANE
- Параметры
-
[in] radius радиус окружности
Определение в строке 387 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::upsampling_radius_.
setUpsamplingStepSize()
| inline |
Задать шаг дискретизации локальной плоскости.
- Примечание
- Используется только при передискретизации методом SAMPLE_LOCAL_PLANE
- Параметры
-
[in] step_size шаг дискретизации
Определение в строке 400 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::upsampling_step_.
Описание данных-членов
cache_mls_results_
| protected |
Значение true указывает, что результаты MLS для входного облака следует сохранять.
- Примечание
- При использовании методов передискретизации VOXEL_GRID_DILATION или DISTINCT_CLOUD для этого параметра принудительно устанавливается значение true.
Определение в строке 549 файла mls.h.
Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::getCacheMLSResults() и pcl::MovingLeastSquares< PointInT, PointOutT >::setCacheMLSResults().
compute_normals_
| protected |
Параметр, определяющий, следует ли вычислять нормали для входного облака.
Определение в строке 526 файла mls.h.
Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::setComputeNormals().
corresponding_input_indices_
| protected |
Для каждой выходной точки хранит соответствующую ей точку входного облака.
Определение в строке 631 файла mls.h.
Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::getCorrespondingIndices().
desired_num_points_in_radius_
| protected |
Параметр, задающий требуемое количество точек в радиусе поиска.
- Примечание
- Используется только при передискретизации методом RANDOM_UNIFORM_DENSITY
Определение в строке 544 файла mls.h.
Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::getPointDensity() и pcl::MovingLeastSquares< PointInT, PointOutT >::setPointDensity().
dilation_iteration_num_
| protected |
Количество шагов расширения для метода передискретизации VOXEL_GRID_DILATION.
Определение в строке 625 файла mls.h.
Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::getDilationIterations() и pcl::MovingLeastSquares< PointInT, PointOutT >::setDilationIterations().
distinct_cloud_
| protected |
Отдельное облако точек, которое будет спроецировано на поверхность MLS.
Определение в строке 508 файла mls.h.
Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::getDistinctCloud() и pcl::MovingLeastSquares< PointInT, PointOutT >::setDistinctCloud().
mls_results_
| protected |
Хранит результат MLS для каждой точки входного облака.
- Примечание
- Используется только при передискретизации методами VOXEL_GRID_DILATION или DISTINCT_CLOUD
Определение в строке 554 файла mls.h.
Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::getMLSResults().
normals_
| protected |
nr_coeff_
| protected |
order_
| protected |
Порядок аппроксимирующего полинома.
Определение в строке 517 файла mls.h.
Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::getPolynomialOrder() и pcl::MovingLeastSquares< PointInT, PointOutT >::setPolynomialOrder().
projection_method_
| protected |
Параметр, задающий используемый метод проецирования.
Определение в строке 557 файла mls.h.
Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::getProjectionMethod() и pcl::MovingLeastSquares< PointInT, PointOutT >::setProjectionMethod().
search_method_
| protected |
Шаблон метода поиска индексов.
Определение в строке 511 файла mls.h.
Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::searchForNeighbors() и pcl::MovingLeastSquares< PointInT, PointOutT >::setSearchMethod().
search_radius_
| protected |
Радиус поиска ближайших соседей для каждой точки.
Определение в строке 520 файла mls.h.
Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::getSearchRadius(), pcl::MovingLeastSquares< PointInT, PointOutT >::searchForNeighbors() и pcl::MovingLeastSquares< PointInT, PointOutT >::setSearchRadius().
sqr_gauss_param_
| protected |
Параметр для взвешивания соседей в зависимости от расстояния (search_radius_ * search_radius_ подходит).
Определение в строке 523 файла mls.h.
Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::getSqrGaussParam(), pcl::MovingLeastSquares< PointInT, PointOutT >::setSearchRadius() и pcl::MovingLeastSquares< PointInT, PointOutT >::setSqrGaussParam().
threads_
| protected |
Максимальное количество потоков, которое должен использовать планировщик.
Определение в строке 560 файла mls.h.
Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::setNumberOfThreads().
tree_
| protected |
Указатель на объект пространственного поиска.
Определение в строке 514 файла mls.h.
Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::getSearchMethod() и pcl::MovingLeastSquares< PointInT, PointOutT >::setSearchMethod().
upsample_method_
| protected |
Параметр, задающий используемый метод увеличения плотности выборки.
Определение в строке 529 файла mls.h.
Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::setUpsamplingMethod().
upsampling_radius_
| protected |
Радиус окружности в локальной плоскости точек, в которой выполняется выборка.
- Примечание
- Используется только при увеличении плотности выборки методом SAMPLE_LOCAL_PLANE
Определение в строке 534 файла mls.h.
Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::getUpsamplingRadius() и pcl::MovingLeastSquares< PointInT, PointOutT >::setUpsamplingRadius().
upsampling_step_
| protected |
Шаг выборки на локальной плоскости.
- Примечание
- Используется только при увеличении плотности выборки методом SAMPLE_LOCAL_PLANE
Определение в строке 539 файла mls.h.
Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::getUpsamplingStepSize() и pcl::MovingLeastSquares< PointInT, PointOutT >::setUpsamplingStepSize().
voxel_size_
| protected |
Размер вокселя для метода увеличения плотности выборки VOXEL_GRID_DILATION.
Определение в строке 622 файла mls.h.
Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::getDilationVoxelSize() и pcl::MovingLeastSquares< PointInT, PointOutT >::setDilationVoxelSize().
Документация этого класса создана на основе следующих файлов:
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_moving_least_squares.html