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 |
| Получить MLSResults для входного облака. Подробнее... |
|
| 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 |
| Переопределить PointCloud operator[] для сокращения кода. Подробнее... |
|
Защищенные члены-функции | |
| 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 |
| Сглаживание заданной точки и её окрестностей с использованием метода «Перемещающихся наименьших квадратов». Подробнее... |
|
| 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) |
| Выполнение апсемплинга для методов «раздельного облака» и «воксeльного сетки». Подробнее... |
|
|
| |
| bool | initCompute () |
| Этот метод должен вызываться перед началом фактического вычисления. Подробнее... |
|
| bool | deinitCompute () |
| Этот метод должен вызываться после завершения фактического вычисления. Подробнее... |
|
Защищенные атрибуты | |
| NormalCloudPtr | normals_ |
| Облако точек, которое будет хранить вычисленные нормали, если задано. Подробнее... |
|
| PointCloudInConstPtr | distinct_cloud_ |
| Отдельное облако точек, которое будет спроецировано на поверхность MLS. Подробнее... |
|
| SearchMethod | search_method_ |
| Шаблон метода поиска для индексов. Подробнее... |
|
| KdTreePtr | tree_ |
| Указатель на объект пространственного поиска. Подробнее... |
|
| int | order_ |
| Порядок полинома для подгонки. Подробнее... |
|
| double | search_radius_ |
| Радиус поиска ближайших соседей для каждой точки. Подробнее... |
|
| double | sqr_gauss_param_ |
| Параметр для взвешивания соседей на основе расстояния (search_radius_ * search_radius_ работает хорошо) Подробнее... |
|
| bool | compute_normals_ |
| Параметр, указывающий, следует ли вычислять нормали для входного облака. Подробнее... |
|
| UpsamplingMethod | upsample_method_ |
| Параметр, определяющий метод повышения разрешения. Подробнее... |
|
| double | upsampling_radius_ |
| Радиус окружности в локальной плоскости точки, которая будет взята для выборки. Подробнее... |
|
| double | upsampling_step_ |
| Шаг для выборки локальной плоскости. Подробнее... |
|
| int | desired_num_points_in_radius_ |
| Параметр, определяющий желаемое количество точек в радиусе поиска. Подробнее... |
|
| bool | cache_mls_results_ |
| Истина, если результаты mls для входного облака должны быть сохранены. Подробнее... |
|
| std::vector< MLSResult > | mls_results_ |
| Хранит результат MLS для каждой точки в входном облаке. Подробнее... |
|
| MLSResult::ProjectionMethod | projection_method_ |
| Параметр, определяющий используемый метод проекции. Подробнее... |
|
| unsigned int | threads_ |
| Максимальное количество потоков, используемых планировщиком. Подробнее... |
|
| float | voxel_size_ |
| Размер вокселя для метода повышения разрешения VOXEL_GRID_DILATION. Подробнее... |
|
| int | dilation_iteration_num_ |
| Число шагов расширения для метода повышения разрешения VOXEL_GRID_DILATION. Подробнее... |
|
| int | nr_coeff_ |
| Число коэффициентов, вычисляемых по заданному порядку. Подробнее... |
|
| PointIndicesPtr | corresponding_input_indices_ |
| Содержит для каждой точки вывода соответствующую точку на входе. Подробнее... |
|
|
| |
| PointCloudConstPtr | input_ |
| Набор входных точек облака. Подробнее... |
|
| IndicesPtr | indices_ |
| Указатель на вектор индексов точек для использования. Подробнее... |
|
| bool | use_indices_ |
| Устанавливается в значение true, если используются индексы точек. Подробнее... |
|
| bool | fake_indices_ |
| Если набор индексов не задан, мы создаём набор фиктивных индексов, имитирующих входное облако точек. Подробнее... |
|
Подробное описание
шаблон<typename PointInT, typename PointOutT>
класс pcl::MovingLeastSquares< PointInT, PointOutT >
MovingLeastSquares представляет реализацию алгоритма MLS (Moving Least Squares) для сглаживания данных и улучшения оценки нормалей.
Также содержит методы для увеличения размера результирующего облака на основе параметрической аппроксимации. Ссылка на статью: "Computing and Rendering Point Set Surfaces" by Marc Alexa, Johannes Behr, Daniel Cohen-Or, Shachar Fleishman, David Levin and Claudio T. Silva www.sci.utah.edu/~shachar/Publications/crpss.pdf
- Примечание
- Существует параллельная версия этапа обработки, использующая стандарт OpenMP. По сравнению со стандартной версией, присутствует накладные расходы по времени выполнения и потреблению памяти. Методы увеличения размера облака DISTINCT_CLOUD и VOXEL_GRID_DILATION не полностью параллелизованы, т.е. некоторые части алгоритма выполняются только в одном потоке.
Документация для определения типа члена
ConstPtr
| используется pcl::MovingLeastSquares< PointInT, PointOutT >::ConstPtr = shared_ptr<const MovingLeastSquares<PointInT, PointOutT> > |
KdTree
| используется pcl::MovingLeastSquares< PointInT, PointOutT >::KdTree = pcl::search::Search<PointInT> |
KdTreePtr
| используется pcl::MovingLeastSquares< PointInT, PointOutT >::KdTreePtr = typename KdTree::Ptr |
NormalCloud
| используется pcl::MovingLeastSquares< PointInT, PointOutT >::NormalCloud = pcl::PointCloud<pcl::Normal> |
NormalCloudPtr
| используется pcl::MovingLeastSquares< PointInT, PointOutT >::NormalCloudPtr = NormalCloud::Ptr |
PointCloudIn
| используется 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 множество индексов, где каждой точке на выходе соответствует соответствующая точка на входе
Определение в строке 252 файла mls.hpp.
Ссылки на pcl::_Normal::curvature, pcl::PointIndices::indices и pcl::PointCloud< PointT >::push_back().
computeMLSPointNormal()
| protected |
Сглаживание заданной точки и ее окрестностей с помощью метода «Перемещающийся наименьших квадратов».
- Параметры
-
[in] index индекс точки запроса в облаке входных данных [in] nn_indices набор индексов ближайших соседей для точки [out] projected_points набор спроецированных точек вокруг точки запроса (в случае метода апсемплинга NONE, будет возвращена только спроецированная на собственную поверхность точка запроса, в случае других методов апсемплинга, будут возвращены несколько точек) [out] projected_points_normals нормали, соответствующие спроецированным точкам [out] corresponding_input_indices набор индексов, где каждой точке на выходе соответствует соответствующая точка на входе [out] mls_result хранит результат MLS для каждой точки в облаке входных данных (используется только в случае апсемплинга VOXEL_GRID_DILATION или DISTINCT_CLOUD)
Определение в строке 174 файла 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 |
Определение в строке 864 файла mls.hpp.
Ссылки на pcl::copyPoint().
getCacheMLSResults()
| inline |
Получение значения cache_mls_results_ (Истина, если результаты mls должны храниться, иначе ложь).
Определение в строке 482 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::cache_mls_results_.
getCorrespondingIndices()
| inline |
Получить набор индексов, где каждому точке на выходе соответствует точка на входе.
Определение в строке 522 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::corresponding_input_indices_.
getDilationIterations()
| inline |
Получить количество шагов дилатации воксельного грида.
- Примечание
- Используется только в методе апсемплинга VOXEL_GRID_DILATION.
Определение в строке 470 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::dilation_iteration_num_.
getDilationVoxelSize()
| inline |
Получить размер вокселя для воксельного грида.
- Примечание
- Используется только в методе апсемплинга VOXEL_GRID_DILATION.
Определение в строке 457 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::voxel_size_.
getDistinctCloud()
| inline |
Получить облако точек, используемое для метода апсемплинга DISTINCT_CLOUD.
Определение в строке 400 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::distinct_cloud_.
getMLSResults()
| inline |
Получить результаты MLS для облака входных точек.
- Примечание
- Результаты хранятся только если был вызван setCacheMLSResults(true), или при использовании методов апсемплинга DISTINCT_CLOUD или VOXEL_GRID_DILATION.
- Этот вектор синхронизирован с индексами входного облака, поэтому используйте getCorrespondingIndices для получения корректных результатов, когда используются индексы выходного облака.
Определение в строке 501 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::mls_results_.
getPointDensity()
| inline |
Получить параметр, определяющий желаемое количество точек в радиусе поиска.
- Примечание
- Используется только в случае апсемплинга RANDOM_UNIFORM_DENSITY.
Определение в строке 443 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::desired_num_points_in_radius_.
getPolynomialOrder()
| inline |
Получить порядок полинома, который будет подгоняться.
Определение в строке 364 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::order_.
getProjectionMethod()
| inline |
Получить текущий метод проекции.
Определение в строке 494 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::projection_method_.
getSearchMethod()
| inline |
Получить указатель на метод поиска.
Определение в строке 353 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::tree_.
getSearchRadius()
| inline |
Получить радиус сферы, используемой для определения k ближайших соседей.
Определение в строке 375 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::search_radius_.
getSqrGaussParam()
| inline |
Получить параметр для взвешивания соседей на основе расстояния.
Определение в строке 386 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::sqr_gauss_param_.
getUpsamplingRadius()
| inline |
Получить радиус окружности в локальной плоскости точки, которая будет взята для выборки.
- Примечание
- Используется только в случае апсемплинга SAMPLE_LOCAL_PLANE.
Определение в строке 414 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::upsampling_radius_.
getUpsamplingStepSize()
| inline |
Получить шаг выборки для локальной плоскости.
- Примечание
- Используется только в случае апсемплинга SAMPLE_LOCAL_PLANE.
Определение в строке 428 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::upsampling_step_.
performProcessing()
| overrideprotectedvirtual |
Абстрактный метод реконструкции поверхности.
- Параметры
-
[out] output результат реконструкции
Реализует pcl::CloudSurfaceProcessing< PointInT, PointOutT >.
Определение в строке 284 файла 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 результат реконструкции
Определение в строке 370 файла 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 ()>
- Parameters
-
[out] output результирующая реконструированная модель поверхности
Переопределено из pcl::CloudSurfaceProcessing< PointInT, PointOutT >.
Определение в строке 61 файла mls.hpp.
Ссылки на pcl::PointCloud< PointT >::clear(), pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::size() и pcl::PointCloud< PointT >::width.
searchForNeighbors()
| inlineprotected |
Поиск ближайших соседей заданной точки с помощью поиска по радиусу.
- Parameters
-
[in] index индекс точки запроса [out] indices результирующий вектор индексов, представляющих соседей в пределах search_radius_ [out] sqr_distances результирующие квадратные расстояния от точки запроса до соседей в пределах search_radius_
Определение в строке 660 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::search_method_ и pcl::MovingLeastSquares< PointInT, PointOutT >::search_radius_.
setCacheMLSResults()
| inline |
Установить, следует ли хранить результаты mls для каждой точки в облаке входных данных.
- Parameters
-
[in] cache_mls_results True, если результаты mls должны быть сохранены, в противном случае false.
- Note
- cache_mls_results_ принудительно устанавливается в true при использовании метода аппроксимации VOXEL_GRID_DILATION или DISTINCT_CLOUD.
- Если проблема в потреблении памяти, установите в false, когда не используется метод аппроксимации VOXEL_GRID_DILATION или DISTINCT_CLOUD.
Определение в строке 478 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::cache_mls_results_.
setComputeNormals()
| inline |
Установить, нужно ли алгоритму также хранить вычисленные нормали.
- Note
- Это необязательно, но требуется правильный тип выходного облака
Определение в строке 335 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::compute_normals_.
setDilationIterations()
| inline |
Установить количество шагов дилатации для воксельного облака.
- Note
- Используется только в методе аппроксимации VOXEL_GRID_DILATION
- Parameters
-
[in] iterations количество итераций дилатации
Определение в строке 464 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::dilation_iteration_num_.
setDilationVoxelSize()
| inline |
Установить размер вокселя для воксельного облака.
- Note
- Используется только в методе аппроксимации VOXEL_GRID_DILATION
- Parameters
-
[in] voxel_size длина ребра кубического вокселя в воксельном облаке
Определение в строке 450 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::voxel_size_.
setDistinctCloud()
| inline |
Установите облако точек, используемое для метода upsampling DISTINCT_CLOUD.
Определение в строке 396 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::distinct_cloud_.
setNumberOfThreads()
| inline |
Установите максимальное количество потоков для использования.
- Параметры
-
threads максимальное количество аппаратных потоков для использования (0 устанавливает значение в 1)
Определение в строке 507 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::threads_.
setPointDensity()
| inline |
Установите параметр, который определяет желаемое количество точек в радиусе поиска.
- Примечание
- Используется только в случае upsampling RANDOM_UNIFORM_DENSITY
- Параметры
-
[in] desired_num_points_in_radius желаемое количество точек в выходном облаке в сфере радиусом search_radius_ вокруг каждой точки
Определение в строке 436 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::desired_num_points_in_radius_.
setPolynomialOrder()
| inline |
Установите порядок многочлена, который нужно подогнать.
- Параметры
-
[in] order порядок многочлена
- Примечание
- Установка order > 1 указывает на использование полиномиальной аппроксимации.
Определение в строке 360 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::order_.
setProjectionMethod()
| inline |
Установите метод, который будет использоваться при проекции точки на поверхность MLS.
- Параметры
-
method
- Примечание
- Используется только при включенной полиномиальной аппроксимации.
Определение в строке 489 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::projection_method_.
setSearchMethod()
| inline |
Укажите указатель на объект поиска.
- Параметры
-
[in] tree указатель на объект пространственного поиска.
Определение в строке 341 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::search_method_ и pcl::MovingLeastSquares< PointInT, PointOutT >::tree_.
setSearchRadius()
| inline |
Установите радиус сферы, который используется для определения k-ближайших соседей, используемых для подгонки.
- Параметры
-
[in] radius радиус сферы, содержащий все k-ближайшие соседи
- Примечание
- Вызов этого метода сбрасывает параметр гауссиана в квадрат радиуса!
Определение в строке 371 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::search_radius_ и pcl::MovingLeastSquares< PointInT, PointOutT >::sqr_gauss_param_.
setSqrGaussParam()
| inline |
Установите параметр, используемый для взвешивания соседей на основе расстояния (в общем случае лучше использовать квадрат радиуса поиска).
- Параметры
-
[in] sqr_gauss_param квадратный параметр Гаусса
Определение в строке 382 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::sqr_gauss_param_.
setUpsamplingMethod()
| inline |
Установите метод апсемплинга, который будет использоваться.
- Параметры
-
method
Определение в строке 392 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::upsample_method_.
setUpsamplingRadius()
| inline |
Установите радиус окружности в локальной плоскости точек, которая будет обработана.
- Примечание
- Используется только в случае апсемплинга SAMPLE_LOCAL_PLANE
- Параметры
-
[in] radius радиус окружности
Определение в строке 408 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::upsampling_radius_.
setUpsamplingStepSize()
| inline |
Установите шаг для выборки локальной плоскости.
- Примечание
- Используется только в случае апсемплинга SAMPLE_LOCAL_PLANE
- Параметры
-
[in] step_size размер шага
Определение в строке 421 файла mls.h.
Ссылки на pcl::MovingLeastSquares< PointInT, PointOutT >::upsampling_step_.
Данные члена
cache_mls_results_
| protected |
Истина, если результаты mls для входного облака должны быть сохранены.
- Примечание
- Это принудительно устанавливается в значение true при использовании методов апсемплинга VOXEL_GRID_DILATION или DISTINCT_CLOUD.
Определение в строке 570 файла mls.h.
Используется pcl::MovingLeastSquares< PointInT, PointOutT >::getCacheMLSResults(), и pcl::MovingLeastSquares< PointInT, PointOutT >::setCacheMLSResults().
compute_normals_
| protected |
Параметр, который указывает, нужно ли вычислять нормали для входного облака.
Определение в строке 547 файла mls.h.
Используется pcl::MovingLeastSquares< PointInT, PointOutT >::setComputeNormals().
corresponding_input_indices_
| protected |
Собирает для каждой точки вывода соответствующую точку на входе.
Определение в строке 652 файла mls.h.
Используется pcl::MovingLeastSquares< PointInT, PointOutT >::getCorrespondingIndices().
desired_num_points_in_radius_
| protected |
Параметр, который определяет желаемое количество точек в радиусе поиска.
- Примечание
- Используется только в случае апсемплинга RANDOM_UNIFORM_DENSITY
Определение в строке 565 файла mls.h.
Используется pcl::MovingLeastSquares< PointInT, PointOutT >::getPointDensity(), и pcl::MovingLeastSquares< PointInT, PointOutT >::setPointDensity().
dilation_iteration_num_
| protected |
Количество итераций расширения для метода аппроксимации VOXEL_GRID_DILATION.
Определение в строке 646 файла mls.h.
Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::getDilationIterations() и pcl::MovingLeastSquares< PointInT, PointOutT >::setDilationIterations().
distinct_cloud_
| protected |
Облако точек, которое будет спроецировано на поверхность MLS.
Определение в строке 529 файла mls.h.
Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::getDistinctCloud() и pcl::MovingLeastSquares< PointInT, PointOutT >::setDistinctCloud().
mls_results_
| protected |
Хранит результат MLS для каждой точки в облаке входных данных.
- Примечание
- Используется только в случае аппроксимации VOXEL_GRID_DILATION или DISTINCT_CLOUD.
Определение в строке 575 файла mls.h.
Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::getMLSResults().
normals_
| protected |
nr_coeff_
| protected |
order_
| protected |
Порядок полинома, который будет подгоняться.
Определение в строке 538 файла mls.h.
Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::getPolynomialOrder() и pcl::MovingLeastSquares< PointInT, PointOutT >::setPolynomialOrder().
projection_method_
| protected |
Параметр, который определяет метод проекции.
Определение в строке 578 файла mls.h.
Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::getProjectionMethod() и pcl::MovingLeastSquares< PointInT, PointOutT >::setProjectionMethod().
search_method_
| protected |
Метод поиска индексов.
Определение в строке 532 файла mls.h.
Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::searchForNeighbors() и pcl::MovingLeastSquares< PointInT, PointOutT >::setSearchMethod().
search_radius_
| protected |
Радиус поиска ближайших соседей для каждой точки.
Определение в строке 541 файла 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_ работает нормально)
Определение в строке 544 файла mls.h.
Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::getSqrGaussParam(), pcl::MovingLeastSquares< PointInT, PointOutT >::setSearchRadius() и pcl::MovingLeastSquares< PointInT, PointOutT >::setSqrGaussParam().
threads_
| protected |
Максимальное количество потоков, которые должен использовать планировщик.
Определение в строке 581 файла mls.h.
Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::setNumberOfThreads().
tree_
| protected |
Указатель на объект пространственного поиска.
Определение в строке 535 файла mls.h.
Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::getSearchMethod() и pcl::MovingLeastSquares< PointInT, PointOutT >::setSearchMethod().
upsample_method_
| protected |
Параметр, определяющий метод аппроксимации, который будет использоваться.
Определение в строке 550 файла mls.h.
Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::setUpsamplingMethod().
upsampling_radius_
| protected |
Радиус окружности в локальной плоскости точки, которая будет выборочно взята.
- Примечание
- Используется только в случае аппроксимации SAMPLE_LOCAL_PLANE
Определение в строке 555 файла mls.h.
Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::getUpsamplingRadius() и pcl::MovingLeastSquares< PointInT, PointOutT >::setUpsamplingRadius().
upsampling_step_
| protected |
Шаг для выборки локальной плоскости.
- Примечание
- Используется только в случае аппроксимации SAMPLE_LOCAL_PLANE
Определение в строке 560 файла mls.h.
Используется в pcl::MovingLeastSquares< PointInT, PointOutT >::getUpsamplingStepSize() и pcl::MovingLeastSquares< PointInT, PointOutT >::setUpsamplingStepSize().
voxel_size_
| protected |
Размер вокселя для метода аппроксимации VOXEL_GRID_DILATION.
Определение в строке 643 файла 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