Spec-Zone.ru › PointCloudLibrary
Алгоритм реконструкции поверхности Пойссона. Подробнее...
#include <pcl/surface/poisson.h >
Poisson ()
Конструктор, устанавливающий все параметры в рабочие значения по умолчанию. Подробнее...
~Poisson () override
Деструктор. Подробнее...
void
performReconstruction (pcl::PolygonMesh &output) override
Создать поверхность. Подробнее...
void
performReconstruction (pcl::PointCloud < PointNT > &points, std::vector< pcl::Vertices > &polygons) override
Создать поверхность. Подробнее...
void
setDepth (int depth)
Установить максимальную глубину дерева, которое будет использоваться для реконструкции поверхности. Подробнее...
int
getDepth ()
Получить параметр глубины. Подробнее...
void
setMinDepth (int min_depth)
int
getMinDepth ()
void
setPointWeight (float point_weight)
float
getPointWeight ()
void
setScale (float scale)
Установить отношение между диаметром куба, используемого для реконструкции, и диаметром ограничивающего куба образцов. Подробнее...
float
getScale ()
Получить отношение между диаметром куба, используемого для реконструкции, и диаметром ограничивающего куба образцов. Подробнее...
void
setSolverDivide (int solver_divide)
Установить глубину, на которой используется решатель Блочный Гаусс-Зейделя для решения уравнения Лапласа. Подробнее...
int
getSolverDivide ()
Получить глубину, на которой используется решатель Блочный Гаусс-Зейделя для решения уравнения Лапласа. Подробнее...
void
setIsoDivide (int iso_divide)
Установить глубину, на которой должен использоваться извлекатель изоповерхности блока для извлечения изоповерхности. Подробнее...
int
getIsoDivide ()
Получить глубину, на которой должен использоваться извлекатель изоповерхности блока для извлечения изоповерхности. Подробнее...
void
setSamplesPerNode (float samples_per_node)
Установить минимальное количество точек выборки, которые должны попадать в узел октри, поскольку построение октри адаптируется к плотности выборки. Подробнее...
float
getSamplesPerNode ()
Получить минимальное количество точек выборки, которые должны попадать в узел октри, поскольку построение октри адаптируется к плотности выборки. Подробнее...
void
setConfidence (bool confidence)
Установить флаг достоверности. Подробнее...
bool
getConfidence ()
Получить флаг достоверности. Подробнее...
void
setOutputPolygons (bool output_polygons)
шаблон<typename PointNT> class pcl::Poisson< PointNT > Алгоритм реконструкции поверхности Пойссона.
Примечание
Код адаптирован из Misha Kazhdan: http://www.cs.jhu.edu/~misha/Code/PoissonRecon/ Основан на статье: Michael Kazhdan, Matthew Bolitho, Hugues Hoppe, "Poisson surface reconstruction", SGP '06 Proceedings of the fourth Eurographics symposium on Геометрия processing
Автор
Alexandru-Eugen Ichim
Определение в строке 61 файла poisson.h .
ConstPtr шаблон<typename PointNT >
KdTree шаблон<typename PointNT >
KdTreePtr template<typename PointNT >
PointCloudPtr template<typename PointNT >
Ptr template<typename PointNT >
Poisson() template<typename PointNT >
Конструктор, устанавливающий все параметры в значения по умолчанию.
Определение в строке 63 файла poisson.hpp .
~Poisson() template<typename PointNT >
getClassName() template<typename PointNT >
inline override protected virtual
getConfidence() template<typename PointNT >
Получить флаг доверия.
Определение в строке 184 файла poisson.h .
getDegree() template<typename PointNT >
Получить параметр степени.
Определение в строке 205 файла poisson.h .
getDepth() template<typename PointNT >
Получить параметр глубины.
Определение в строке 106 файла poisson.h .
getIsoDivide() template<typename PointNT >
Получить глубину, на которой должен использоваться блок-экстрактор изоповерхности для извлечения изоповерхности.
Определение в строке 157 файла poisson.h .
getManifold() template<typename PointNT >
Получить флаг многообразия.
Определение в строке 217 файла poisson.h .
getMinDepth() template<typename PointNT >
getOutputPolygons() template<typename PointNT >
Получить, выводит ли алгоритм полигональную сетку или треугольную сетку.
Определение в строке 195 файла poisson.h .
getPointWeight() template<typename PointNT >
getSamplesPerNode() template<typename PointNT >
Получить минимальное количество точек выборки, которые должны попадать в узел ок-дерева, так как построение ок-дерева адаптируется к плотности выборки.
Определение в строке 172 файла poisson.h .
getScale() template<typename PointNT >
Получить отношение между диаметром куба, используемого для реконструкции, и диаметром ограничивающего куба выборок.
Определение в строке 131 файла poisson.h .
getSolverDivide() template<typename PointNT >
Получить глубину, на которой используется блок-решение Гаусса-Зейделя для решения уравнения Лапласа.
Определение в строке 144 файла poisson.h .
getThreads() template<typename PointNT >
Получить количество потоков.
Определение в строке 228 файла poisson.h .
performReconstruction() [1/2]
template<typename PointNT >
performReconstruction() [2/2]
template<typename PointNT >
Создать поверхность.
Параметры
[out]
output
результирующая полигональная сетка
Реализует pcl::SurfaceReconstruction< PointNT > .
Определение в строке 164 файла poisson.hpp .
Ссылки на pcl::PolygonMesh::cloud , pcl::poisson::Point3D< Real >::coords , pcl::poisson::CoredMeshData::inCorePoints , pcl::poisson::CoredVectorMeshData::nextOutOfCorePoint() , pcl::poisson::CoredVectorMeshData::nextPolygon() , pcl::poisson::CoredVectorMeshData::outOfCorePointCount() , pcl::poisson::CoredVectorMeshData::polygonCount() , pcl::PolygonMesh::polygons , pcl::PointCloud< PointT >::resize() , pcl::toPCLPointCloud2() , и pcl::Vertices::vertices .
setConfidence() template<typename PointNT >
void pcl::Poisson < PointNT >::setConfidence ( bool confidence
)
inline
Установить флаг уверенности.
Примечание
Включение этого флага сообщает реконструктору использовать размер нормалей как информацию об уверенности. Когда флаг не включен, все нормали нормируются для единичной длины перед реконструкцией.
Параметры
[in]
confidence
установленный флаг
Определение в строке 180 файла poisson.h .
setDegree() template<typename PointNT >
Установить параметр степени.
Параметры
[in]
degree
установленная степень
Определение в строке 201 файла poisson.h .
setDepth() template<typename PointNT >
Установить максимальную глубину дерева, которое будет использоваться для реконструкции поверхности.
Примечание
Запуск на глубине d соответствует решению на сетке вокселей с разрешением не более 2d x 2d x 2d . Обратите внимание, что, поскольку реконструктор адаптирует ок-дерево к плотности выборки, указанная глубина реконструкции является только верхней границей.
Параметры
[in]
depth
параметр глубины
Определение в строке 102 файла poisson.h .
setIsoDivide() template<typename PointNT >
void pcl::Poisson < PointNT >::setIsoDivide ( int iso_divide
)
inline
Установить глубину, на которой должен использоваться экстрактор изоповерхности блока для извлечения изоповерхности.
Примечание
Использование этого параметра помогает уменьшить издержки памяти с небольшим увеличением времени извлечения. (На практике мы обнаружили, что для реконструкций глубиной 9 или выше глубина подразделения 7 или 8 может значительно уменьшить использование памяти.)
Параметры
[in]
iso_divide
значение данного параметра
Определение в строке 153 файла poisson.h .
setManifold() template<typename PointNT >
Установить флаг многообразия.
Примечание
Включение этого флага сообщает реконструктору добавить барицентр многоугольника при триангуляции многоугольников с более чем тремя вершинами.
Параметры
[in]
manifold
установленный флаг
Определение в строке 213 файла poisson.h .
setMinDepth() template<typename PointNT >
setOutputPolygons() template<typename PointNT >
void pcl::Poisson < PointNT >::setOutputPolygons ( bool output_polygons
)
inline
Включение этого флага сообщает реконструктору выводить полигональную сетку (а не триангулировать результаты Marching Cubes).
Параметры
[in]
output_polygons
установленный флаг
Определение в строке 191 файла poisson.h .
setPointWeight() template<typename PointNT >
void pcl::Poisson < PointNT >::setPointWeight ( float point_weight
)
inline
setSamplesPerNode() template<typename PointNT >
void pcl::Poisson < PointNT >::setSamplesPerNode ( float samples_per_node
)
inline
Установить минимальное количество точек выборки, которые должны попадать в узел ок-дерева, поскольку построение ок-дерева адаптируется к плотности выборки.
Примечание
Для безшумных выборок можно использовать небольшие значения в диапазоне [1.0 - 5.0]. Для более шумных выборок могут потребоваться более крупные значения в диапазоне [15.0 - 20.0] для обеспечения более плавной реконструкции, уменьшающей шум.
Параметры
[in]
samples_per_node
значение данного параметра
Определение в строке 166 файла poisson.h .
setScale() template<typename PointNT >
Установите отношение между диаметром куба, используемого для реконструкции, и диаметром ограничивающего куба образцов.
Параметры
[in]
scale
заданное значение параметра
Определение в строке 125 файла poisson.h .
setSolverDivide() template<typename PointNT >
void pcl::Poisson < PointNT >::setSolverDivide ( int solver_divide
)
inline
Установите глубину, на которой используется блок-алгоритм Гаусса-Зейделя для решения уравнения Лапласа.
Примечание
Использование этого параметра помогает уменьшить объем памяти за счет небольшого увеличения времени реконструкции. (На практике мы обнаружили, что для реконструкций глубиной 9 или более глубина разделения 7 или 8 значительно уменьшает использование памяти.)
Параметры
[in]
solver_divide
заданное значение параметра
Определение в строке 140 файла poisson.h .
setThreads() template<typename PointNT >
Установите количество используемых потоков.
Параметры
[in]
threads
количество потоков
Определение в строке 93 файла poisson.hpp .
The documentation for this class was generated from the following files: