ConcaveHull (альфа-фигуры) с использованием библиотеки libqhull. Подробнее...
#include <pcl/surface/concave_hull.h>
Общедоступные типы | |
| using | PointCloud = pcl::PointCloud< PointInT > |
| using | PointCloudPtr = typename PointCloud::Ptr |
| using | PointCloudConstPtr = typename PointCloud::ConstPtr |
|
| |
| using | Ptr = shared_ptr< MeshConstruction< PointInT > > |
| using | ConstPtr = shared_ptr< const MeshConstruction< PointInT > > |
|
| |
| using | Ptr = shared_ptr< PCLSurfaceBase< PointInT > > |
| using | ConstPtr = shared_ptr< const PCLSurfaceBase< PointInT > > |
| using | KdTree = pcl::search::Search< PointInT > |
| using | KdTreePtr = typename KdTree::Ptr |
|
| |
| using | PointCloud = pcl::PointCloud< PointInT > |
| using | PointCloudPtr = typename PointCloud::Ptr |
| using | PointCloudConstPtr = typename PointCloud::ConstPtr |
| using | PointIndicesPtr = PointIndices::Ptr |
| using | PointIndicesConstPtr = PointIndices::ConstPtr |
Общедоступные функции-члены | |
| ConcaveHull ()=default | |
| Пустой конструктор. Подробнее... |
|
| ~ConcaveHull () override=default | |
| Пустой деструктор. Подробнее... |
|
| void | reconstruct (PointCloud &points, std::vector< pcl::Vertices > &polygons) |
| Вычисляет вогнутую оболочку для всех заданных точек. Подробнее... |
|
| void | reconstruct (PointCloud &output) |
| Вычисляет вогнутую оболочку для всех заданных точек. Подробнее... |
|
| void | setAlpha (double alpha) |
| Задает значение alpha, ограничивающее размер сегментов результирующей оболочки (чем оно меньше, тем детальнее оболочка). Подробнее... |
|
| double | getAlpha () |
| Возвращает параметр alpha; см. setAlpha(). Подробнее... |
|
| void | setVoronoiCenters (PointCloudPtr voronoi_centers) |
| Если задано, центры ячеек Вороного будут сохранены в voronoi_centers Подробнее... |
|
| void | setKeepInformation (bool value) |
| Если keep_information_is имеет значение true, точки выпуклой оболочки сохраняют другие данные, такие как rgb, нормали и т. д. Подробнее... |
|
| int | getDimension () const |
| Возвращает размерность (2 или 3) вычисленной оболочки. Подробнее... |
|
| void | setDimension (int dimension) |
| Задает размерность входных данных: 2D или 3D. Подробнее... |
|
| void | getHullPointIndices (pcl::PointIndices &hull_point_indices) const |
| Получает индексы точек входного облака, образующих выпуклую оболочку. Подробнее... |
|
|
| |
| MeshConstruction ()=default | |
| Конструктор. Подробнее... |
|
| ~MeshConstruction () override=default | |
| Деструктор. Подробнее... |
|
| void | reconstruct (pcl::PolygonMesh &output) override |
| Базовый метод восстановления поверхности для всех точек, заданных в <setInputCloud (), setIndices ()> Подробнее... |
|
| virtual void | reconstruct (std::vector< pcl::Vertices > &polygons) |
| Базовый метод построения сетки для всех точек, заданных в <setInputCloud (), setIndices ()> Подробнее... |
|
|
| |
| PCLSurfaceBase () | |
| Пустой конструктор. Подробнее... |
|
| ~PCLSurfaceBase () override=default | |
| Пустой деструктор. Подробнее... |
|
| void | setSearchMethod (const KdTreePtr &tree) |
| Задает необязательный указатель на объект поиска. Подробнее... |
|
| KdTreePtr | getSearchMethod () |
| Возвращает указатель на используемый метод поиска. Подробнее... |
|
|
| |
| 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[] для сокращения кода. Подробнее... |
|
Защищенные типы | |
| using | Ptr = shared_ptr< ConcaveHull< PointInT > > |
| using | ConstPtr = shared_ptr< const ConcaveHull< PointInT > > |
Защищенные функции-члены | |
| std::string | getClassName () const override |
| Метод получения имени класса. Подробнее... |
|
| void | performReconstruction (PointCloud &points, std::vector< pcl::Vertices > &polygons) |
| Фактический метод реконструкции. Подробнее... |
|
| void | performReconstruction (PolygonMesh &output) override |
| Абстрактный метод реконструкции поверхности. Подробнее... |
|
| void | performReconstruction (std::vector< pcl::Vertices > &polygons) override |
| Абстрактный метод реконструкции поверхности. Подробнее... |
|
|
| |
| bool | initCompute () |
| Этот метод следует вызвать перед началом фактических вычислений. Подробнее... |
|
| bool | deinitCompute () |
| Этот метод следует вызвать после завершения фактических вычислений. Подробнее... |
|
Защищённые атрибуты | |
| double | alpha_ {0.0} |
| Метод принимает грани, только если расстояние от любой вершины до центра грани-> (центра ячейки Вороного) меньше alpha. Подробнее... |
|
| bool | keep_information_ {false} |
| Если установлено значение true, восстановленное облако точек, описывающее оболочку, получается из исходного входного облака путём поиска ближайших соседей для результата Qhull. Подробнее... |
|
| PointCloudPtr | voronoi_centers_ {nullptr} |
| центры ячеек Вороного Подробнее... |
|
| int | dim_ {0} |
| размерность вогнутой оболочки Подробнее... |
|
| pcl::PointIndices | hull_indices_ |
| вектор, содержащий индексы точек облака точек, принадлежащих точкам выпуклой оболочки. Подробнее... |
|
|
| |
| bool | check_tree_ {true} |
| Флаг, указывающий, требуется ли алгоритму восстановления в производном классе объект поиска tree. Подробнее... |
|
|
| |
| KdTreePtr | tree_ |
| Указатель на объект пространственного поиска. Подробнее... |
|
|
| |
| PointCloudConstPtr | input_ |
| Входной набор облака точек. Подробнее... |
|
| IndicesPtr | indices_ |
| Указатель на вектор используемых индексов точек. Подробнее... |
|
| bool | use_indices_ |
| Установите значение true, если используются индексы точек. Подробнее... |
|
| bool | fake_indices_ |
| Если набор индексов не задан, мы создаём набор фиктивных индексов, имитирующий входное облако точек. Подробнее... |
|
Подробное описание
template<typename PointInT>
class pcl::ConcaveHull< PointInT >
ConcaveHull (альфа-формы) с использованием библиотеки libqhull.
Определение в строке 55 файла concave_hull.h.
Документация псевдонимов типов-членов
ConstPtr
| protected |
Определение в строке 59 файла concave_hull.h.
PointCloud
| using pcl::ConcaveHull< PointInT >::PointCloud = pcl::PointCloud<PointInT> |
Определение в строке 69 файла concave_hull.h.
PointCloudConstPtr
| using pcl::ConcaveHull< PointInT >::PointCloudConstPtr = typename PointCloud::ConstPtr |
Определение в строке 71 файла concave_hull.h.
PointCloudPtr
| using pcl::ConcaveHull< PointInT >::PointCloudPtr = typename PointCloud::Ptr |
Определение в строке 70 файла concave_hull.h.
Ptr
| protected |
Определение в строке 58 файла concave_hull.h.
Документация конструктора и деструктора
ConcaveHull()
| default |
Пустой конструктор.
~ConcaveHull()
| overridedefault |
Пустой деструктор.
Документация функций-членов
getAlpha()
| inline |
Возвращает параметр alpha, см. setAlpha().
Определение в строке 109 файла concave_hull.h.
Ссылки: pcl::ConcaveHull< PointInT >::alpha_.
getClassName()
| inlineoverrideprotectedvirtual |
Метод получения имени класса.
Переопределён из pcl::PCLSurfaceBase< PointInT >.
Определение в строке 165 файла concave_hull.h.
Используется в pcl::ConcaveHull< PointInT >::setDimension().
getDimension()
|
Возвращает размерность (2 или 3) вычисленной оболочки.
Определение в строке 135 файла concave_hull.h.
Ссылки: pcl::ConcaveHull< PointInT >::dim_.
getHullPointIndices()
| void pcl::ConcaveHull< PointInT >::getHullPointIndices | ( | pcl::PointIndices & | hull_point_indices | ) | const |
Получить индексы входного облака точек, составляющих выпуклую оболочку.
- Примечание
- Вызывать этот метод следует только после выполнения восстановления и если для ConcaveHull включено сохранение информации с помощью setKeepInformation ().
- Параметры
-
[out] hull_point_indices Индексы точек, формирующих облако точек
Определение в строке 618 файла concave_hull.hpp.
performReconstruction() [1/3]
| protected |
Фактический метод восстановления.
- Параметры
-
points результирующие точки, лежащие на вогнутой оболочке polygons результирующие многоугольники вогнутой оболочки в виде набора вершин. Структура Vertices содержит массив индексов точек.
Определение в строке 119 файла concave_hull.hpp.
Ссылки: pcl::compute3DCentroid(), pcl::computeCovarianceMatrixNormalized(), pcl::copyPointCloud(), pcl::demeanPointCloud(), pcl::eigen33(), pcl::PointCloud< PointT >::erase(), pcl::getCircumcircleRadius(), pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::KdTreeFLANN< PointT, Dist >::nearestKSearch(), pcl::PointCloud< PointT >::points, pcl::PointCloud< PointT >::push_back(), pcl::PointCloud< PointT >::resize(), pcl::KdTreeFLANN< PointT, Dist >::setInputCloud(), pcl::PointCloud< PointT >::size(), pcl::transformPointCloud(), pcl::Vertices::vertices и pcl::PointCloud< PointT >::width.
performReconstruction() [2/3]
| overrideprotectedvirtual |
Абстрактный метод восстановления поверхности.
- Параметры
-
[out] output выходная полигональная сетка
Реализует pcl::MeshConstruction< PointInT >.
Определение в строке 598 файла concave_hull.hpp.
Ссылки: pcl::PolygonMesh::cloud, pcl::PolygonMesh::polygons и pcl::toPCLPointCloud2().
performReconstruction() [3/3]
| overrideprotectedvirtual |
Абстрактный метод восстановления поверхности.
- Параметры
-
[out] polygons результирующие многоугольники в виде набора вершин. Структура Vertices содержит массив индексов точек.
Реализует pcl::MeshConstruction< PointInT >.
Определение в строке 610 файла concave_hull.hpp.
reconstruct() [1/2]
| void pcl::ConcaveHull< PointInT >::reconstruct | ( | PointCloud & | output | ) |
Вычисляет вогнутую оболочку для всех заданных точек.
Лицензионное соглашение на программное обеспечение (лицензия BSD)
- Параметры
-
output вершины результирующей вогнутой оболочки
Point Cloud Library (PCL) — www.pointclouds.org Copyright (c) 2010-2011, Willow Garage, Inc.
Все права защищены.
Разрешается распространение и использование в исходной и двоичной формах, с изменениями или без них, при соблюдении следующих условий:
- При распространении исходного кода необходимо сохранить приведенное выше уведомление об авторских правах, этот список условий и следующий отказ от ответственности.
- При распространении в двоичной форме необходимо воспроизвести приведенное выше уведомление об авторских правах, этот список условий и следующий отказ от ответственности в документации и/или других материалах, поставляемых вместе с дистрибутивом.
- Имя Willow Garage, Inc. и имена ее участников нельзя использовать для одобрения или продвижения продуктов, созданных на основе этого программного обеспечения, без предварительного письменного разрешения.
ЭТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ ВЛАДЕЛЬЦАМИ АВТОРСКИХ ПРАВ И УЧАСТНИКАМИ «КАК ЕСТЬ», И ОТКАЗЫВАЮТСЯ ОТ ЛЮБЫХ ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ ГАРАНТИЙ, ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ ТОВАРНОЙ ПРИГОДНОСТИ И ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ ВЛАДЕЛЕЦ АВТОРСКИХ ПРАВ ИЛИ УЧАСТНИКИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБОЙ ПРЯМОЙ, КОСВЕННЫЙ, СЛУЧАЙНЫЙ, ОСОБЫЙ, ШТРАФНОЙ ИЛИ ПОСЛЕДУЮЩИЙ УЩЕРБ (ВКЛЮЧАЯ, ПОМИМО ПРОЧЕГО, ПРИОБРЕТЕНИЕ ЗАМЕНЯЮЩИХ ТОВАРОВ ИЛИ УСЛУГ; ПОТЕРЮ ВОЗМОЖНОСТИ ИСПОЛЬЗОВАНИЯ, ДАННЫХ ИЛИ ПРИБЫЛИ; А ТАКЖЕ ПРЕРЫВАНИЕ ДЕЯТЕЛЬНОСТИ), НЕЗАВИСИМО ОТ ПРИЧИНЫ И ВИДА ОТВЕТСТВЕННОСТИ — ДОГОВОРНОЙ, СТРОГОЙ ИЛИ ДЕЛИКТНОЙ (ВКЛЮЧАЯ НЕБРЕЖНОСТЬ ИЛИ ИНОЕ), — ВОЗНИКШИЙ КАКИМ-ЛИБО ОБРАЗОМ В РЕЗУЛЬТАТЕ ИСПОЛЬЗОВАНИЯ ЭТОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, ДАЖЕ ЕСЛИ О ВОЗМОЖНОСТИ ТАКОГО УЩЕРБА БЫЛО СООБЩЕНО.
$Id$
Определение в строке 59 файла concave_hull.hpp.
Ссылки на pcl::PointCloud< PointT >::clear(), pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::size() и pcl::PointCloud< PointT >::width.
reconstruct() [2/2]
| void pcl::ConcaveHull< PointInT >::reconstruct | ( | PointCloud & | points, |
| std::vector< pcl::Vertices > & | polygons | ||
| ) |
Вычисляет вогнутую оболочку для всех заданных точек.
- Параметры
-
points результирующие точки, лежащие на вогнутой оболочке polygons результирующие многоугольники вогнутой оболочки в виде набора вершин. Структура Vertices содержит массив индексов точек.
Определение в строке 88 файла concave_hull.hpp.
Ссылки на pcl::PointCloud< PointT >::clear(), pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::size() и pcl::PointCloud< PointT >::width.
setAlpha()
| inline |
Задает значение alpha, ограничивающее размер сегментов результирующей оболочки (чем меньше значение, тем подробнее оболочка).
- Параметры
-
alpha положительное ненулевое значение, задающее максимальное расстояние от вершины до центра грани (центра ячейки Вороного).
Определение в строке 102 файла concave_hull.h.
Ссылки на pcl::ConcaveHull< PointInT >::alpha_.
setDimension()
|
Задает размерность входных данных: 2D или 3D.
- Параметры
-
[in] dimension Размерность входных данных. Если она не задана, значение будет определено автоматически.
Определение в строке 144 файла concave_hull.h.
Ссылки на pcl::ConcaveHull< PointInT >::dim_ и pcl::ConcaveHull< PointInT >::getClassName().
setKeepInformation()
|
Если keep_information_ установлено в true, точки выпуклой оболочки сохраняют другие данные, например rgb, normals, ...
- Параметры
-
value указывает, следует ли сохранять данные; значение по умолчанию — false
Определение в строке 128 файла concave_hull.h.
setVoronoiCenters()
|
Если задано, центры ячеек Вороного будут сохранены в voronoi_centers
- Параметры
-
voronoi_centers
Определение в строке 118 файла concave_hull.h.
Описание данных-членов
alpha_
| protected |
Метод принимает грани, только если расстояние от любой вершины до центра грани (центра ячейки Вороного) меньше alpha.
Определение в строке 190 файла concave_hull.h.
Используется в pcl::ConcaveHull< PointInT >::getAlpha() и pcl::ConcaveHull< PointInT >::setAlpha().
dim_
| protected |
размерность вогнутой оболочки
Определение в строке 201 файла concave_hull.h.
Используется в pcl::ConcaveHull< PointInT >::getDimension() и pcl::ConcaveHull< PointInT >::setDimension().
hull_indices_
| protected |
вектор, содержащий индексы точек облака для точек выпуклой оболочки.
Определение в строке 204 файла concave_hull.h.
keep_information_
| protected |
Если установлено значение true, облако точек, описывающее восстановленную оболочку, формируется из исходного входного облака путем поиска ближайших соседей для результатов Qhull.
Определение в строке 195 файла concave_hull.h.
Используется в pcl::ConcaveHull< PointInT >::setKeepInformation().
voronoi_centers_
| protected |
центры ячеек Вороного
Определение в строке 198 файла concave_hull.h.
Используется в pcl::ConcaveHull< PointInT >::setVoronoiCenters().
Документация этого класса была создана на основе следующих файлов:
- pcl/surface/concave_hull.h
- pcl/surface/impl/concave_hull.hpp
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_concave_hull.html