Spec-Zone.ru › PointCloudLibrary

VFHEstimation вычисляет гистограмму признаков точки обзора (VFH) для заданного облака точек, содержащего точки и нормали. Подробнее...

#include <pcl/features/vfh.h>

Inheritance graph
[легенда]
Collaboration graph
[легенда]
END_OF_DOCUMENT_MARKER

Публичные типы

using PointCloudOut = typename Feature< PointInT, PointOutT >::PointCloudOut
using Ptr = shared_ptr< VFHEstimation< PointInT, PointNT, PointOutT > >
using ConstPtr = shared_ptr< const VFHEstimation< PointInT, PointNT, PointOutT > >
- Публичные типы, унаследованные от pcl::FeatureFromNormals< PointInT, PointNT, pcl::VFHSignature308 >
using PointCloudN = pcl::PointCloud< PointNT >
using PointCloudNPtr = typename PointCloudN::Ptr
using PointCloudNConstPtr = typename PointCloudN::ConstPtr
using Ptr = shared_ptr< FeatureFromNormals< PointInT, PointNT, pcl::VFHSignature308 > >
using ConstPtr = shared_ptr< const FeatureFromNormals< PointInT, PointNT, pcl::VFHSignature308 > >
- Публичные типы, унаследованные от pcl::Feature< PointInT, PointOutT >
using BaseClass = PCLBase< PointInT >
using Ptr = shared_ptr< Feature< PointInT, PointOutT > >
using ConstPtr = shared_ptr< const Feature< PointInT, PointOutT > >
using KdTree = pcl::search::Search< PointInT >
using KdTreePtr = typename KdTree::Ptr
using PointCloudIn = pcl::PointCloud< PointInT >
using PointCloudInPtr = typename PointCloudIn::Ptr
using PointCloudInConstPtr = typename PointCloudIn::ConstPtr
using PointCloudOut = pcl::PointCloud< PointOutT >
using SearchMethod = std::function< int(std::size_t, double, pcl::Indices &, std::vector< float > &)>
using SearchMethodSurface = std::function< int(const PointCloudIn &cloud, std::size_t index, double, pcl::Indices &, std::vector< float > &)>
- Публичные типы, унаследованные от pcl::PCLBase< PointInT >
using PointCloud = pcl::PointCloud< PointInT >
using PointCloudPtr = typename PointCloud::Ptr
using PointCloudConstPtr = typename PointCloud::ConstPtr
using PointIndicesPtr = PointIndices::Ptr
using PointIndicesConstPtr = PointIndices::ConstPtr

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

VFHEstimation ()
Пустой конструктор. Подробнее...
void computePointSPFHSignature (const Eigen::Vector4f &centroid_p, const Eigen::Vector4f &centroid_n, const pcl::PointCloud< PointInT > &cloud, const pcl::PointCloud< PointNT > &normals, const pcl::Indices &indices)
Определить подписи SPFH (Простые гистограммы точек Feature) угловых (f1, f2, f3) и дистанционных (f4) характеристик для заданной точки из ее окрестностей. Подробнее...
void setViewPoint (float vpx, float vpy, float vpz)
Установить точку обзора. Подробнее...
void getViewPoint (float &vpx, float &vpy, float &vpz)
Получить точку обзора. Подробнее...
void setUseGivenNormal (bool use)
Установить use_given_normal_. Подробнее...
void setNormalToUse (const Eigen::Vector3f &normal)
Установить используемую нормаль. Подробнее...
void setUseGivenCentroid (bool use)
Установить use_given_centroid_. Подробнее...
void setCentroidToUse (const Eigen::Vector3f &centroid)
Установить centroid_to_use_. Подробнее...
void setNormalizeBins (bool normalize)
установить normalize_bins_ Подробнее...
void setNormalizeDistance (bool normalize)
установить normalize_distances_ Подробнее...
void setFillSizeComponent (bool fill_size)
установить size_component_ Подробнее...
void compute (PointCloudOut &output)
Перегруженная вычисляемая функция из pcl::Feature. Подробнее...
- Общедоступные члены-функции, унаследованные от pcl::FeatureFromNormals< PointInT, PointNT, pcl::VFHSignature308 >
FeatureFromNormals ()
Пустой конструктор. Подробнее...
void setInputNormals (const PointCloudNConstPtr &normals)
Предоставить указатель на входные данные, содержащие нормали точек набора данных XYZ. Подробнее...
PointCloudNConstPtr getInputNormals () const
Получить указатель на нормали входного набора данных точек XYZ. Подробнее...
- Общедоступные члены-функции, унаследованные от pcl::Feature< PointInT, PointOutT >
Feature ()
Пустой конструктор. Подробнее...
void setSearchSurface (const PointCloudInConstPtr &cloud)
Предоставьте указатель на набор данных, чтобы добавить дополнительную информацию для оценки признаков для каждой точки в наборе входных данных. Подробнее...
PointCloudInConstPtr getSearchSurface () const
Получить указатель на набор данных точек поверхности. Подробнее...
void setSearchMethod (const KdTreePtr &tree)
Предоставьте указатель на объект поиска. Подробнее...
KdTreePtr getSearchMethod () const
Получить указатель на метод поиска, используемый. Подробнее...
double getSearchParameter () const
Получить внутренний параметр поиска. Подробнее...
void setKSearch (int k)
Установить количество k ближайших соседей для использования при оценке признака. Подробнее...
int getKSearch () const
получить количество k ближайших соседей, используемых для оценки признака. Подробнее...
void setRadiusSearch (double radius)
Установить радиус сферы, который будет использоваться для определения ближайших соседей, используемых для оценки признака. Подробнее...
double getRadiusSearch () const
Получить радиус сферы, используемый для определения соседей. Подробнее...
void compute (PointCloudOut &output)
Базовый метод для оценки признаков для всех точек, заданных в <setInputCloud (), setIndices ()>, с использованием поверхности в setSearchSurface () и пространственного локализатора в setSearchMethod () Подробнее...
- Public Member Functions inherited from pcl::PCLBase< PointInT >
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 оператор[] для сокращения кода. Подробнее...

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

bool initCompute () override
Этот метод должен вызываться перед началом фактического вычисления. Подробнее...
- Защищённые члены-функции, унаследованные от pcl::Feature< PointInT, PointOutT >
const std::string & getClassName () const
Получить строковое представление имени этого класса. Подробнее...
virtual bool deinitCompute ()
Этот метод должен вызываться после завершения фактического вычисления. Подробнее...
int searchForNeighbors (std::size_t index, double parameter, pcl::Indices &indices, std::vector< float > &distances) const
Поиск k-ближайших соседей с использованием пространственного локатора из setSearchmethod и заданной поверхности из setSearchSurface. Подробнее...
int searchForNeighbors (const PointCloudIn &cloud, std::size_t index, double parameter, pcl::Indices &indices, std::vector< float > &distances) const
Поиск k-ближайших соседей с использованием пространственного локатора из setSearchmethod и заданной поверхности из setSearchSurface. Подробнее...
- Защищённые члены-функции, унаследованные от pcl::PCLBase< PointInT >
bool initCompute ()
Этот метод должен вызываться перед началом фактического вычисления. Подробнее...
bool deinitCompute ()
Этот метод должен вызываться после завершения фактического вычисления. Подробнее...

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

std::array< Eigen::VectorXf, 4 > hist_f_
Буфер для гистограммы f1. Подробнее...
Eigen::VectorXf hist_vp_
Буфер для гистограммы vp. Подробнее...
Eigen::Vector4f normal_to_use_
Нормаль для вычисления VFH. Подробнее...
Eigen::Vector4f centroid_to_use_
Центроид для вычисления VFH. Подробнее...
bool use_given_normal_
Использовать нормаль normal_to_use_. Подробнее...
bool use_given_centroid_
Использовать центроид centroid_to_use_. Подробнее...
bool normalize_bins_
Нормализовать ячейки по общему числу точек. Подробнее...
bool normalize_distances_
Нормализовать компонент распределения формы VFH. Подробнее...
bool size_component_
Активировать или деактивировать компонент размера VFH. Подробнее...
- Защищенные атрибуты, унаследованные от pcl::FeatureFromNormals< PointInT, PointNT, pcl::VFHSignature308 >
PointCloudNConstPtr normals_
Указатель на входные данные, содержащие нормали точек XYZ набора данных. Подробнее...
- Защищенные атрибуты, унаследованные от pcl::Feature< PointInT, PointOutT >
std::string feature_name_
Имя признака. Подробнее...
SearchMethodSurface search_method_surface_
Метод поиска шаблонов для точек. Подробнее...
PointCloudInConstPtr surface_
Входное облако точек, описывающее поверхность, используемую для оценки ближайших соседей. Подробнее...
KdTreePtr tree_
Указатель на объект пространственного поиска. Подробнее...
double search_parameter_
Фактический параметр поиска (из search_radius_ или k_). Подробнее...
double search_radius_
Радиус поиска ближайших соседей для каждой точки. Подробнее...
int k_
Количество K ближайших соседей для использования для каждой точки. Подробнее...
bool fake_surface_
Если поверхность не задана, используется входной PointCloud в качестве поверхности. Подробнее...
- Защищенные атрибуты, унаследованные от pcl::PCLBase< PointInT >
PointCloudConstPtr input_
Входной облако точек. Подробнее...
IndicesPtr indices_
Указатель на вектор индексов точек для использования. Подробнее...
bool use_indices_
Устанавливается в значение true, если используются индексы точек. Подробнее...
bool fake_indices_
Если набор индексов не задан, создается набор фиктивных индексов, имитирующих входной PointCloud. Подробнее...

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

шаблон<typename PointInT, typename PointNT, typename PointOutT = pcl::VFHSignature308>
класс pcl::VFHEstimation< PointInT, PointNT, PointOutT >

VFHEstimation вычисляет дескриптор гистограммы вида Feature (VFH) для заданного набора данных облака точек, содержащего точки и нормали.

По умолчанию реализация VFH использует 45 подделений для каждого из трёх расширенных значений FPFH, плюс ещё 45 подделений для расстояний между каждой точкой и центроидом и 128 подделений для компоненты вида, что в результате даёт массив из 308 байт с плавающей запятой. Эти значения хранятся в типе точки pcl::VFHSignature308. Существенное отличие между дескрипторами PFH/FPFH и VFH заключается в том, что для данного набора данных облака точек будет вычислен только один дескриптор VFH (размер vfhs должен быть 1), а полученные данные PFH/FPFH будут иметь количество записей, равное количеству точек в облаке.

Примечание
Если вы используете этот код в какой-либо академической работе, пожалуйста, укажите:
  • R.B. Rusu, G. Bradski, R. Thibaux, J. Hsu. Fast 3D Recognition and Pose Using the Viewpoint Feature Histogram. В материалах Международной конференции по интеллектуальным роботам и системам (IROS) Тайбэй, Тайвань, 18-22 октября 2010 г.
Примечание
Код имеет состояние, так как мы не ожидаем, что этот класс будет многопоточным. Пожалуйста, обратитесь к FPFHEstimationOMP для примера параллельной реализации FPFH (быстрая гистограмма вида Feature).
Автор
Radu B. Rusu

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

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

ConstPtr

шаблон<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
используется pcl::VFHEstimation< PointInT, PointNT, PointOutT >::ConstPtr = shared_ptr<const VFHEstimation<PointInT, PointNT, PointOutT> >

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

PointCloudOut

шаблон<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
используется pcl::VFHEstimation< PointInT, PointNT, PointOutT >::PointCloudOut = typename Feature<PointInT, PointOutT>::PointCloudOut

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

Ptr

шаблон<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
используется pcl::VFHEstimation< PointInT, PointNT, PointOutT >::Ptr = shared_ptr<VFHEstimation<PointInT, PointNT, PointOutT> >

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

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

VFHEstimation()

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
pcl::VFHEstimation< PointInT, PointNT, PointOutT >::VFHEstimation ( )
inline

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

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

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

compute()

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::compute ( PointCloudOut & output )

Перегруженный метод вычисления из pcl::Feature.

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

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

Ссылки на pcl::PointCloud< PointT >::clear(), pcl::PointCloud< PointT >::header, pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::resize() и pcl::PointCloud< PointT >::width.

computePointSPFHSignature()

template<typename PointInT , typename PointNT , typename PointOutT >
void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::computePointSPFHSignature ( const Eigen::Vector4f & centroid_p,
const Eigen::Vector4f & centroid_n,
const pcl::PointCloud< PointInT > & cloud,
const pcl::PointCloud< PointNT > & normals,
const pcl::Indices & indices
)

Вычисление SPFH (Простые гистограммы признаков точки) подписей угловых (f1, f2, f3) и дистанционных (f4) признаков для заданной точки из её окрестности.

Параметры
[in] centroid_p точка центра
[in] centroid_n нормаль к центральной точке
[in] cloud набор данных, содержащий координаты XYZ двух точек
[in] normals набор данных, содержащий нормали к каждой точке в cloud
[in] indices индексы точек k-окрестности в наборе данных

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

Ссылки на pcl::computePairFeatures(), pcl::getMaxDistance(), M_PI и pcl_round().

getViewPoint()

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::getViewPoint ( float & vpx,
float & vpy,
float & vpz
)
inline

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

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

initCompute()

template<typename PointInT , typename PointNT , typename PointOutT >
bool pcl::VFHEstimation< PointInT, PointNT, PointOutT >::initCompute
overrideprotectedvirtual

Этот метод должен вызываться перед началом фактического вычисления.

Реализация, переопределённая из pcl::FeatureFromNormals< PointInT, PointNT, pcl::VFHSignature308 >.

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

setCentroidToUse()

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setCentroidToUse ( const Eigen::Vector3f & centroid )
inline

Установить centroid_to_use_.

Параметры
[in] centroid Центроид, который будет использоваться в вычислении VFH. Он используется для вычисления расстояний от всех точек до этого центра.

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

Ссылки на pcl::VFHEstimation< PointInT, PointNT, PointOutT >::centroid_to_use_.

setFillSizeComponent()

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setFillSizeComponent ( bool fill_size )
inline

установить размер компонента

Parameters
[in] fill_size Истина, если необходимо заполнить 4-й компонент VFH (компонент распределения форм). В противном случае он устанавливается в ноль.

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

Ссылки на pcl::VFHEstimation< PointInT, PointNT, PointOutT >::size_component_.

setNormalizeBins()

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setNormalizeBins ( bool normalize )
inline

установить normalize_bins_

Parameters
[in] normalize Если истинно, ячейки VFH нормализуются с использованием общего числа точек

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

Ссылки на pcl::VFHEstimation< PointInT, PointNT, PointOutT >::normalize_bins_.

setNormalizeDistance()

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setNormalizeDistance ( bool normalize )
inline

установить normalize_distances_

Parameters
[in] normalize Если истинно, 4-й компонент VFH (компонент распределения форм) нормализуется по максимальному размеру между центроидом и облаком точек

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

Ссылки на pcl::VFHEstimation< PointInT, PointNT, PointOutT >::normalize_distances_.

setNormalToUse()

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setNormalToUse ( const Eigen::Vector3f & normal )
inline

Установить используемую нормаль.

Parameters
[in] normal Устанавливает нормаль, используемую в вычислении VFH. Она используется для построения системы координат Дарбу.

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

Ссылки на pcl::VFHEstimation< PointInT, PointNT, PointOutT >::normal_to_use_.

setUseGivenCentroid()

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setUseGivenCentroid ( bool use )
inline

Установить use_given_centroid_.

Parameters
[in] use Установить в истину, если необходимо использовать центроид, переданный через setCentroidToUse(centroid)

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

Ссылки на pcl::VFHEstimation< PointInT, PointNT, PointOutT >::use_given_centroid_.

setUseGivenNormal()

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setUseGivenNormal ( bool use )
inline

Установить use_given_normal_.

Parameters
[in] use Установить в истину, если необходимо использовать нормаль, переданную в setNormalUse(normal)

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

Ссылки на pcl::VFHEstimation< PointInT, PointNT, PointOutT >::use_given_normal_.

setViewPoint()

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
void pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setViewPoint ( float vpx,
float vpy,
float vpz
)
inline

Установить точку обзора.

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

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

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

centroid_to_use_

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
Eigen::Vector4f pcl::VFHEstimation< PointInT, PointNT, PointOutT >::centroid_to_use_
protected

Центроид, используемый для вычисления VFH.

По умолчанию — центроид всего облака точек.

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

Используется в pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setCentroidToUse().

hist_f_

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
std::array<Eigen::VectorXf, 4> pcl::VFHEstimation< PointInT, PointNT, PointOutT >::hist_f_
protected

Заполнитель для гистограммы f1.

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

hist_vp_

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
Eigen::VectorXf pcl::VFHEstimation< PointInT, PointNT, PointOutT >::hist_vp_
protected

Заполнитель для гистограммы vp.

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

normal_to_use_

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
Eigen::Vector4f pcl::VFHEstimation< PointInT, PointNT, PointOutT >::normal_to_use_
protected

Нормаль, используемая для вычисления VFH.

По умолчанию — средняя нормаль всего облака точек.

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

Используется в pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setNormalToUse().

normalize_bins_

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
bool pcl::VFHEstimation< PointInT, PointNT, PointOutT >::normalize_bins_
protected

Нормализовать бины по общему числу точек.

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

Используется в pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setNormalizeBins().

normalize_distances_

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
bool pcl::VFHEstimation< PointInT, PointNT, PointOutT >::normalize_distances_
protected

Нормализовать компонент распределения формы VFH.

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

Используется в pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setNormalizeDistance().

size_component_

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
bool pcl::VFHEstimation< PointInT, PointNT, PointOutT >::size_component_
protected

Активировать или деактивировать компонент размера VFH.

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

Используется в pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setFillSizeComponent().

use_given_centroid_

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
bool pcl::VFHEstimation< PointInT, PointNT, PointOutT >::use_given_centroid_
protected

Использовать centroid_to_use_.

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

Используется в pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setUseGivenCentroid().

use_given_normal_

template<typename PointInT , typename PointNT , typename PointOutT = pcl::VFHSignature308>
bool pcl::VFHEstimation< PointInT, PointNT, PointOutT >::use_given_normal_
protected

Использовать normal_to_use_.

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

Используется в pcl::VFHEstimation< PointInT, PointNT, PointOutT >::setUseGivenNormal().


The documentation for this class was generated from the following files:
  • pcl/features/vfh.h
  • pcl/features/impl/vfh.hpp

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

Spec-Zone.ru

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