Spec-Zone.ru › PointCloudLibrary

ExtractPolygonalPrismData использует набор индексов точек, представляющих плоскую модель, и вместе с заданной высотой создает трехмерную многоугольную призму. Подробнее...

#include <pcl/segmentation/extract_polygonal_prism_data.h>

Inheritance graph
[обозначения]
Collaboration graph
[обозначения]

Общедоступные типы

using PointCloud = pcl::PointCloud< PointT >
using PointCloudPtr = typename PointCloud::Ptr
using PointCloudConstPtr = typename PointCloud::ConstPtr
using PointIndicesPtr = PointIndices::Ptr
using PointIndicesConstPtr = PointIndices::ConstPtr
- Общедоступные типы, унаследованные от pcl::PCLBase< PointT >
using PointCloud = pcl::PointCloud< PointT >
using PointCloudPtr = typename PointCloud::Ptr
using PointCloudConstPtr = typename PointCloud::ConstPtr
using PointIndicesPtr = PointIndices::Ptr
using PointIndicesConstPtr = PointIndices::ConstPtr

Общедоступные функции-члены

ExtractPolygonalPrismData ()=default
Конструктор без параметров. Подробнее...
void setInputPlanarHull (const PointCloudConstPtr &hull)
Задать указатель на входной набор данных плоской выпуклой оболочки. Подробнее...
void setPolygons (const std::vector< pcl::Vertices > &polygons)
Задать вектор индексов вогнутых многоугольников, полученный из ConcaveHull::polygons. Подробнее...
PointCloudConstPtr getInputPlanarHull () const
Получить указатель на входной набор данных плоской выпуклой оболочки. Подробнее...
void setHeightLimits (double height_min, double height_max)
Задать пределы высоты. Подробнее...
void getHeightLimits (double &height_min, double &height_max) const
Получить заданные пользователем пределы высоты (мин./макс.). Подробнее...
void setViewPoint (float vpx, float vpy, float vpz)
Задать точку обзора. Подробнее...
void getViewPoint (float &vpx, float &vpy, float &vpz) const
Получить точку обзора. Подробнее...
void segment (PointIndices &output)
Извлечение кластеров в PointCloud, заданном вызовами <setInputCloud (), setIndices ()> Подробнее...
- Общедоступные функции-члены, унаследованные от pcl::PCLBase< PointT >
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 PointT & operator[] (std::size_t pos) const
Переопределение оператора [] класса PointCloud для сокращения кода. Подробнее...

Защищенные функции-члены

virtual std::string getClassName () const
Метод получения имени класса. Подробнее...
- Защищенные функции-члены, унаследованные от pcl::PCLBase< PointT >
bool initCompute ()
Этот метод следует вызывать перед началом фактического вычисления. Подробнее...
bool deinitCompute ()
Этот метод следует вызывать после завершения фактического вычисления. Подробнее...

Защищённые атрибуты

PointCloudConstPtr planar_hull_ {nullptr}
Указатель на входной набор данных плоской выпуклой оболочки. Подробнее...
std::vector< pcl::Vertices > polygons_
Векторы индексов полигонов, полученные от ConcaveHull Подробнее...
int min_pts_hull_ {3}
Минимальное количество точек, необходимое для выпуклой оболочки. Подробнее...
double height_limit_min_ {0.0}
Минимальная допустимая высота (расстояние до модели), начиная с которой учитывается точка. Подробнее...
double height_limit_max_ {std::numeric_limits<float>::max()}
Максимальная допустимая высота (расстояние до модели), до которой учитывается точка. Подробнее...
float vpx_ {0.0f}
Значения, описывающие точку обзора при сборе данных. Подробнее...
float vpy_ {0.0f}
float vpz_ {0.0f}
- Защищённые атрибуты, унаследованные от pcl::PCLBase< PointT >
PointCloudConstPtr input_
Входной набор данных облака точек. Подробнее...
IndicesPtr indices_
Указатель на вектор используемых индексов точек. Подробнее...
bool use_indices_
Установите значение true, если используются индексы точек. Подробнее...
bool fake_indices_
Если набор индексов не задан, создаётся набор фиктивных индексов, имитирующий входное PointCloud. Подробнее...

Подробное описание

template<typename PointT>
class pcl::ExtractPolygonalPrismData< PointT >

ExtractPolygonalPrismData использует набор индексов точек, представляющих плоскую модель, и на их основе вместе с заданной высотой строит трёхмерную полигональную призму.

Затем эта полигональная призма используется для сегментации всех точек, расположенных внутри неё.

Пример использования — извлечение данных, находящихся внутри заданных трёхмерных границ (например, объектов, опирающихся на плоскость).

Пример использования:

double z_min = 0., z_max = 0.05; // we want the points above the plane, no farther than 5 cm from the surface
pcl::PointCloud<pcl::PointXYZ>::Ptr hull_points (new pcl::PointCloud<pcl::PointXYZ> ());
pcl::ConvexHull<pcl::PointXYZ> hull;
// hull.setDimension (2); // not necessarily needed, but we need to check the dimensionality of the output
hull.setInputCloud (cloud);
hull.reconstruct (hull_points);
if (hull.getDimension () == 2)
{
 pcl::ExtractPolygonalPrismData<pcl::PointXYZ> prism;
 prism.setInputCloud (point_cloud);
 prism.setInputPlanarHull (hull_points);
 prism.setHeightLimits (z_min, z_max);
 prism.segment (cloud_indices);
}
else
 PCL_ERROR ("The input cloud does not represent a planar surface.\n");
pcl::ConvexHullConvexHull using libqhull library.Definition: convex_hull.h:73
pcl::ConvexHull
ConvexHull using libqhull library.
Definition: convex_hull.h:73
pcl::ConvexHull::getDimensionint getDimension() constReturns the dimensionality (2 or 3) of the calculated hull.Definition: convex_hull.h:160
pcl::ConvexHull::getDimension
int getDimension() const
Returns the dimensionality (2 or 3) of the calculated hull.
Definition: convex_hull.h:160
pcl::ConvexHull::reconstructvoid reconstruct(PointCloud &points, std::vector< pcl::Vertices > &polygons)Compute a convex hull for all points given.Definition: convex_hull.hpp:482
pcl::ConvexHull::reconstruct
void reconstruct(PointCloud &points, std::vector< pcl::Vertices > &polygons)
Compute a convex hull for all points given.
Definition: convex_hull.hpp:482
pcl::ExtractPolygonalPrismDataExtractPolygonalPrismData uses a set of point indices that represent a planar model,...Definition: extract_polygonal_prism_data.h:104
pcl::ExtractPolygonalPrismData
ExtractPolygonalPrismData uses a set of point indices that represent a planar model,...
Definition: extract_polygonal_prism_data.h:104
pcl::ExtractPolygonalPrismData::setHeightLimitsvoid setHeightLimits(double height_min, double height_max)Set the height limits.Definition: extract_polygonal_prism_data.h:149
pcl::ExtractPolygonalPrismData::setHeightLimits
void setHeightLimits(double height_min, double height_max)
Set the height limits.
Definition: extract_polygonal_prism_data.h:149
pcl::ExtractPolygonalPrismData::setInputPlanarHullvoid setInputPlanarHull(const PointCloudConstPtr &hull)Provide a pointer to the input planar hull dataset.Definition: extract_polygonal_prism_data.h:126
pcl::ExtractPolygonalPrismData::setInputPlanarHull
void setInputPlanarHull(const PointCloudConstPtr &hull)
Provide a pointer to the input planar hull dataset.
Definition: extract_polygonal_prism_data.h:126
pcl::ExtractPolygonalPrismData::segmentvoid segment(PointIndices &output)Cluster extraction in a PointCloud given by <setInputCloud (), setIndices ()>Definition: extract_polygonal_prism_data.hpp:149
pcl::ExtractPolygonalPrismData::segment
void segment(PointIndices &output)
Cluster extraction in a PointCloud given by <setInputCloud (), setIndices ()>
Definition: extract_polygonal_prism_data.hpp:149
pcl::PCLBase::setInputCloudvirtual void setInputCloud(const PointCloudConstPtr &cloud)Provide a pointer to the input dataset.Definition: pcl_base.hpp:65
pcl::PCLBase::setInputCloud
virtual void setInputCloud(const PointCloudConstPtr &cloud)
Provide a pointer to the input dataset.
Definition: pcl_base.hpp:65
pcl::PointCloud< pcl::PointXYZ >
pcl::PointCloud< pcl::PointXYZ >
pcl::PointCloud::Ptrshared_ptr< PointCloud< PointT > > PtrDefinition: point_cloud.h:413
pcl::PointCloud::Ptr
shared_ptr< PointCloud< PointT > > Ptr
Definition: point_cloud.h:413
Автор
Radu Bogdan Rusu

Определение в строке 103 файла extract_polygonal_prism_data.h.

Документация псевдонимов типов-членов

PointCloud

template<typename PointT >
using pcl::ExtractPolygonalPrismData< PointT >::PointCloud = pcl::PointCloud<PointT>

Определение в строке 111 файла extract_polygonal_prism_data.h.

PointCloudConstPtr

template<typename PointT >
using pcl::ExtractPolygonalPrismData< PointT >::PointCloudConstPtr = typename PointCloud::ConstPtr

Определение в строке 113 файла extract_polygonal_prism_data.h.

PointCloudPtr

template<typename PointT >
using pcl::ExtractPolygonalPrismData< PointT >::PointCloudPtr = typename PointCloud::Ptr

Определение в строке 112 файла extract_polygonal_prism_data.h.

PointIndicesConstPtr

template<typename PointT >
using pcl::ExtractPolygonalPrismData< PointT >::PointIndicesConstPtr = PointIndices::ConstPtr

Определение в строке 116 файла extract_polygonal_prism_data.h.

PointIndicesPtr

template<typename PointT >
using pcl::ExtractPolygonalPrismData< PointT >::PointIndicesPtr = PointIndices::Ptr

Определение в строке 115 файла extract_polygonal_prism_data.h.

Документация конструкторов и деструкторов

ExtractPolygonalPrismData()

template<typename PointT >
pcl::ExtractPolygonalPrismData< PointT >::ExtractPolygonalPrismData ( )
default

Пустой конструктор.

Документация функций-членов

getClassName()

template<typename PointT >
virtual std::string pcl::ExtractPolygonalPrismData< PointT >::getClassName ( ) const
inlineprotectedvirtual

Метод получения имени класса.

Определение в строке 220 файла extract_polygonal_prism_data.h.

getHeightLimits()

template<typename PointT >
void pcl::ExtractPolygonalPrismData< PointT >::getHeightLimits ( double & height_min,
double & height_max
) const
inline

Получить заданные пользователем пределы высоты (мин./макс.).

Значения по умолчанию: 0, std::numeric_limits<float>::max().

Параметры
[out] height_min итоговое минимальное ограничение высоты
[out] height_max итоговое максимальное ограничение высоты

Определение в строке 161 файла extract_polygonal_prism_data.h.

Ссылки на pcl::ExtractPolygonalPrismData< PointT >::height_limit_max_ и pcl::ExtractPolygonalPrismData< PointT >::height_limit_min_.

getInputPlanarHull()

template<typename PointT >
PointCloudConstPtr pcl::ExtractPolygonalPrismData< PointT >::getInputPlanarHull ( ) const
inline

Получить указатель на входной набор данных плоской выпуклой оболочки.

Определение в строке 140 файла extract_polygonal_prism_data.h.

Ссылка на pcl::ExtractPolygonalPrismData< PointT >::planar_hull_.

getViewPoint()

template<typename PointT >
void pcl::ExtractPolygonalPrismData< PointT >::getViewPoint ( float & vpx,
float & vpy,
float & vpz
) const
inline

Получить точку обзора.

Определение в строке 182 файла extract_polygonal_prism_data.h.

Ссылки на pcl::ExtractPolygonalPrismData< PointT >::vpx_, pcl::ExtractPolygonalPrismData< PointT >::vpy_ и pcl::ExtractPolygonalPrismData< PointT >::vpz_.

segment()

template<typename PointT >
void pcl::ExtractPolygonalPrismData< PointT >::segment ( pcl::PointIndices & output )

Извлечение кластеров из PointCloud, заданного вызовами <setInputCloud (), setIndices ()>

Параметры
[out] output итоговые индексы точек, поддерживающих найденную модель (внутренние точки)

Определение в строке 149 файла extract_polygonal_prism_data.hpp.

Ссылки на pcl::computeMeanAndCovarianceMatrix(), pcl::geometry::distance(), pcl::eigen33(), pcl::PointIndices::header, pcl::PointIndices::indices, pcl::isXYPointIn2DXYPolygon(), pcl::pointToPlaneDistanceSigned(), pcl::SampleConsensusModelPlane< PointT >::projectPoints(), pcl::PointCloud< PointT >::resize() и pcl::PointCloud< PointT >::size().

setHeightLimits()

template<typename PointT >
void pcl::ExtractPolygonalPrismData< PointT >::setHeightLimits ( double height_min,
double height_max
)
inline

Задать пределы высоты.

Все точки, расстояние которых до модели выходит за пределы этого интервала, будут отброшены.

Параметры
[in] height_min минимальное допустимое расстояние до плоской модели
[in] height_max максимальное допустимое расстояние до плоской модели

Определение в строке 149 файла extract_polygonal_prism_data.h.

Ссылки на pcl::ExtractPolygonalPrismData< PointT >::height_limit_max_ и pcl::ExtractPolygonalPrismData< PointT >::height_limit_min_.

setInputPlanarHull()

template<typename PointT >
void pcl::ExtractPolygonalPrismData< PointT >::setInputPlanarHull ( const PointCloudConstPtr & hull )
inline

Передать указатель на входной набор данных плоской выпуклой оболочки.

Примечание
См. пример в описании класса, где объясняется, как получить этот набор данных.
Параметры
[in] hull входной набор данных плоской выпуклой оболочки

Определение в строке 126 файла extract_polygonal_prism_data.h.

Ссылка на pcl::ExtractPolygonalPrismData< PointT >::planar_hull_.

setPolygons()

template<typename PointT >
void pcl::ExtractPolygonalPrismData< PointT >::setPolygons ( const std::vector< pcl::Vertices > & polygons )
inline

Передать вектор индексов вогнутых полигонов, полученный из ConcaveHull::polygons.

Примечание
Это необходимо только при использовании ConcaveHull, содержащего более одного полигона.
Параметры
[in] polygons - см. ConcaveHull::polygons

Определение в строке 133 файла extract_polygonal_prism_data.h.

Ссылка на pcl::ExtractPolygonalPrismData< PointT >::polygons_.

setViewPoint()

template<typename PointT >
void pcl::ExtractPolygonalPrismData< PointT >::setViewPoint ( float vpx,
float vpy,
float vpz
)
inline

Задать точку обзора.

Параметры
[in] vpx координата X точки обзора
[in] vpy координата Y точки обзора
[in] vpz координата Z точки обзора

Определение в строке 173 файла extract_polygonal_prism_data.h.

Ссылки на pcl::ExtractPolygonalPrismData< PointT >::vpx_, pcl::ExtractPolygonalPrismData< PointT >::vpy_ и pcl::ExtractPolygonalPrismData< PointT >::vpz_.

Документация данных-членов

height_limit_max_

template<typename PointT >
double pcl::ExtractPolygonalPrismData< PointT >::height_limit_max_ {std::numeric_limits<float>::max()}
protected

Максимально допустимая высота (расстояние до модели), в пределах которой учитывается точка.

Определение в строке 213 файла extract_polygonal_prism_data.h.

Используется в pcl::ExtractPolygonalPrismData< PointT >::getHeightLimits() и pcl::ExtractPolygonalPrismData< PointT >::setHeightLimits().

height_limit_min_

template<typename PointT >
double pcl::ExtractPolygonalPrismData< PointT >::height_limit_min_ {0.0}
protected

Минимально допустимая высота (расстояние до модели), начиная с которой учитывается точка.

Определение в строке 208 файла extract_polygonal_prism_data.h.

Используется в pcl::ExtractPolygonalPrismData< PointT >::getHeightLimits() и pcl::ExtractPolygonalPrismData< PointT >::setHeightLimits().

min_pts_hull_

template<typename PointT >
int pcl::ExtractPolygonalPrismData< PointT >::min_pts_hull_ {3}
protected

Минимальное количество точек, необходимое для построения выпуклой оболочки.

Определение в строке 203 файла extract_polygonal_prism_data.h.

planar_hull_

template<typename PointT >
PointCloudConstPtr pcl::ExtractPolygonalPrismData< PointT >::planar_hull_ {nullptr}
protected

Указатель на входной набор данных плоской оболочки.

Определение в строке 197 файла extract_polygonal_prism_data.h.

Используется в pcl::ExtractPolygonalPrismData< PointT >::getInputPlanarHull() и pcl::ExtractPolygonalPrismData< PointT >::setInputPlanarHull().

polygons_

template<typename PointT >
std::vector<pcl::Vertices> pcl::ExtractPolygonalPrismData< PointT >::polygons_
protected

Векторы индексов полигонов, полученные из ConcaveHull

Определение в строке 200 файла extract_polygonal_prism_data.h.

Используется в pcl::ExtractPolygonalPrismData< PointT >::setPolygons().

vpx_

template<typename PointT >
float pcl::ExtractPolygonalPrismData< PointT >::vpx_ {0.0f}
protected

Значения, описывающие точку обзора при получении данных.

По умолчанию: 0,0,0.

Определение в строке 216 файла extract_polygonal_prism_data.h.

Используется в pcl::ExtractPolygonalPrismData< PointT >::getViewPoint() и pcl::ExtractPolygonalPrismData< PointT >::setViewPoint().

vpy_

template<typename PointT >
float pcl::ExtractPolygonalPrismData< PointT >::vpy_ {0.0f}
protected

Определение в строке 216 файла extract_polygonal_prism_data.h.

Используется в pcl::ExtractPolygonalPrismData< PointT >::getViewPoint() и pcl::ExtractPolygonalPrismData< PointT >::setViewPoint().

vpz_

template<typename PointT >
float pcl::ExtractPolygonalPrismData< PointT >::vpz_ {0.0f}
protected

Определение в строке 216 файла extract_polygonal_prism_data.h.

Используется в pcl::ExtractPolygonalPrismData< PointT >::getViewPoint() и pcl::ExtractPolygonalPrismData< PointT >::setViewPoint().


Документация этого класса создана на основе следующих файлов:
  • pcl/segmentation/extract_polygonal_prism_data.h
  • pcl/segmentation/impl/extract_polygonal_prism_data.hpp

© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_extract_polygonal_prism_data.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API