UniqueShapeContext реализует описатель уникального контекста формы, описанный здесь: Подробнее...
#include <pcl/features/usc.h>
Общедоступные типы | |
| using | PointCloudOut = typename Feature< PointInT, PointOutT >::PointCloudOut |
| using | PointCloudIn = typename Feature< PointInT, PointOutT >::PointCloudIn |
| using | Ptr = shared_ptr< UniqueShapeContext< PointInT, PointOutT, PointRFT > > |
| using | ConstPtr = shared_ptr< const UniqueShapeContext< PointInT, PointOutT, PointRFT > > |
|
| |
| using | BaseClass = PCLBase< PointInT > |
| using | Ptr = shared_ptr< Feature< PointInT, pcl::UniqueShapeContext1960 > > |
| using | ConstPtr = shared_ptr< const Feature< PointInT, pcl::UniqueShapeContext1960 > > |
| 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< pcl::UniqueShapeContext1960 > |
| 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 > &)> |
|
| |
| using | PointCloud = pcl::PointCloud< PointInT > |
| using | PointCloudPtr = typename PointCloud::Ptr |
| using | PointCloudConstPtr = typename PointCloud::ConstPtr |
| using | PointIndicesPtr = PointIndices::Ptr |
| using | PointIndicesConstPtr = PointIndices::ConstPtr |
|
| |
| using | PointCloudLRF = pcl::PointCloud< pcl::ReferenceFrame > |
| using | PointCloudLRFPtr = typename PointCloudLRF::Ptr |
| using | PointCloudLRFConstPtr = typename PointCloudLRF::ConstPtr |
Общедоступные члены-функции | |
| UniqueShapeContext () | |
| Конструктор. Подробнее... |
|
| ~UniqueShapeContext () override=default | |
| std::size_t | getAzimuthBins () const |
| std::size_t | getElevationBins () const |
| std::size_t | getRadiusBins () const |
| void | setMinimalRadius (double radius) |
| Минимальное значение радиуса сферы поиска (rmin) в оригинальной статье. Подробнее... |
|
| double | getMinimalRadius () const |
| void | setPointDensityRadius (double radius) |
| Этот радиус используется для вычисления локальной плотности точек: плотность = количество точек в пределах этого радиуса. Подробнее... |
|
| double | getPointDensityRadius () const |
| void | setLocalRadius (double radius) |
| Установить значение локального радиуса RF. Подробнее... |
|
| double | getLocalRadius () const |
|
| |
| 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 () Подробнее... |
|
|
| |
| 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[] для сокращения кода. Подробнее... |
|
|
| |
| FeatureWithLocalReferenceFrames () | |
| Пустой конструктор. Подробнее... |
|
| virtual | ~FeatureWithLocalReferenceFrames ()=default |
| По умолчанию виртуальный деструктор. Подробнее... |
|
| void | setInputReferenceFrames (const PointCloudLRFConstPtr &frames) |
| Предоставьте указатель на входной набор данных, содержащий локальные системы координат набора данных XYZ. Подробнее... |
|
| PointCloudLRFConstPtr | getInputReferenceFrames () const |
| Получить указатель на локальные системы координат. Подробнее... |
|
Защищенные члены-функции | |
| void | computePointDescriptor (std::size_t index, std::vector< float > &desc) |
| Вычисление описателя признака формы точки в 3D. Подробнее... |
|
| bool | initCompute () override |
| Инициализация вычислений путём выделения всех интервалов и таблицы поиска объёма. Подробнее... |
|
| void | computeFeature (PointCloudOut &output) override |
| Фактическое вычисление признака. Подробнее... |
|
|
| |
| 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. Подробнее... |
|
|
| |
| bool | initCompute () |
| Этот метод должен вызываться перед началом фактического вычисления. Подробнее... |
|
| bool | deinitCompute () |
| Этот метод должен вызываться после завершения фактического вычисления. Подробнее... |
|
|
| |
| virtual bool | initLocalReferenceFrames (const std::size_t &indices_size, const LRFEstimationPtr &lrf_estimation=LRFEstimationPtr()) |
Защищенные атрибуты | |
| std::vector< float > | radii_interval_ |
| значения интервала радиусов. Подробнее... |
|
| std::vector< float > | theta_divisions_ |
| Интервал интервала делений тета. Подробнее... |
|
| std::vector< float > | phi_divisions_ |
| Интервал интервала делений фи. Подробнее... |
|
| std::vector< float > | volume_lut_ |
| Таблица поиска объемов. Подробнее... |
|
| std::size_t | azimuth_bins_ |
| Бины по размеру азимута. Подробнее... |
|
| std::size_t | elevation_bins_ |
| Бины по размеру возвышения. Подробнее... |
|
| std::size_t | radius_bins_ |
| Бины по размеру радиуса. Подробнее... |
|
| double | min_radius_ |
| Минимальное значение радиуса. Подробнее... |
|
| double | point_density_radius_ |
| Радиус плотности точек. Подробнее... |
|
| std::size_t | descriptor_length_ |
| Длина дескриптора. Подробнее... |
|
| double | local_radius_ |
| Радиус для вычисления локальной RF. Подробнее... |
|
|
| |
| 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 в качестве поверхности. Подробнее... |
|
|
| |
| PointCloudConstPtr | input_ |
| Входное облако точек. Подробнее... |
|
| IndicesPtr | indices_ |
| Указатель на вектор индексов точек для использования. Подробнее... |
|
| bool | use_indices_ |
| Устанавливается в true, если используются индексы точек. Подробнее... |
|
| bool | fake_indices_ |
| Если набор индексов не задан, создается набор фиктивных индексов, имитирующих входное облако точек. Подробнее... |
|
|
| |
| PointCloudLRFConstPtr | frames_ |
| Указатель на локальные системы координат. Подробнее... |
|
| bool | frames_never_defined_ |
| Пользователь никогда не задавал локальные системы координат. Подробнее... |
|
Дополнительные унаследованные члены | |
|
| |
| using | LRFEstimationPtr = typename Feature< PointInT, pcl::ReferenceFrame >::Ptr |
| Проверка корректной инициализации frames_ и вычисление, если необходимо. Подробнее... |
|
Подробное описание
шаблон<typename PointInT, typename PointOutT = pcl::UniqueShapeContext1960, typename PointRFT = pcl::ReferenceFrame>
класс pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >
UniqueShapeContext реализует дескриптор Unique Shape Context, описанный здесь:
- F. Tombari, S. Salti, L. Di Stefano, "Unique Shape Context for 3D data description", Международный семинар по 3D объектам (3DOR 10) - совместно с ACM Multimedia 2010
Рекомендуемый PointOutT - pcl::UniqueShapeContext1960
Документация по члену типа
ConstPtr
| using pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::ConstPtr = shared_ptr<const UniqueShapeContext<PointInT, PointOutT, PointRFT> > |
PointCloudIn
| using pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::PointCloudIn = typename Feature<PointInT, PointOutT>::PointCloudIn |
PointCloudOut
| using pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::PointCloudOut = typename Feature<PointInT, PointOutT>::PointCloudOut |
Ptr
| using pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::Ptr = shared_ptr<UniqueShapeContext<PointInT, PointOutT, PointRFT> > |
Документация конструктора и деструктора
UniqueShapeContext()
| inline |
Конструктор.
Определение в строке 85 файла usc.h.
Ссылки на pcl::Feature< PointInT, pcl::UniqueShapeContext1960 >::feature_name_, и pcl::Feature< PointInT, pcl::UniqueShapeContext1960 >::search_radius_.
~UniqueShapeContext()
| overridedefault |
Документация по функциям-членам
computeFeature()
| overrideprotected |
Фактическое вычисление признаков.
- Параметры
-
[out] output результирующие признаки
Определение в строке 226 файла usc.hpp.
Ссылки на pcl::isFinite().
computePointDescriptor()
| protected |
Вычисление дескриптора 3D признаков формы.
- Параметры
-
[in] index индекс точки в input_ [out] desc дескриптор для вычисления
Вычислите угол между соседом и осью z (нормалью) в интервале [0, 180]
Вычислите координаты Bin(j, k, l) текущего соседа
Bin (j, k, l)
Плотность локальных точек = количество точек в сфере радиусом "point_density_radius_" вокруг текущего соседа
point_density всегда больше 0, потому что FindPointsWithinRadius возвращает по крайней мере саму точку
Накапливайте w в соответствующую Bin(j,k,l)
Определение в строке 146 файла usc.hpp.
Ссылки на pcl::geometry::distance(), pcl::utils::equal(), pcl::geometry::project(), и pcl::rad2deg().
getAzimuthBins()
| inline |
- Возвращает
- Количество бинов вдоль азимута.
Определение в строке 98 файла usc.h.
Ссылки на pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::azimuth_bins_.
getElevationBins()
| inline |
- Возвращает
- Количество бинов вдоль угла возвышения
Определение в строке 102 файла usc.h.
Ссылки на pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::elevation_bins_.
getLocalRadius()
| inline |
- Возвращает
- Радиус локальной RF.
Определение в строке 137 файла usc.h.
Ссылки на pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::local_radius_.
getMinimalRadius()
| inline |
- Возвращает
- Минимальный радиус сферы.
Определение в строке 116 файла usc.h.
Ссылки на pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::min_radius_.
getPointDensityRadius()
| inline |
- Возвращает
- Радиус поиска плотности точек.
Определение в строке 127 файла usc.h.
Ссылки на pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::point_density_radius_.
getRadiusBins()
| inline |
- Возвращает
- Количество бинов по направлению радиусов.
Определение в строке 106 файла usc.h.
Ссылки на pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::radius_bins_.
initCompute()
| overrideprotectedvirtual |
Инициализация вычисления путём выделения всех интервалов и таблицы поиска объёма.
Переопределено из pcl::Feature< PointInT, pcl::UniqueShapeContext1960 >.
Определение в строке 54 файла usc.hpp.
Ссылки на pcl::deg2rad(), pcl::PCLBase< PointT >::setIndices(), pcl::PCLBase< PointT >::setInputCloud(), pcl::Feature< PointInT, PointOutT >::setRadiusSearch() и pcl::Feature< PointInT, PointOutT >::setSearchSurface().
setLocalRadius()
| inline |
Установить значение радиуса локальной RF.
- Параметры
-
[in] radius требуемый радиус локальной RF
Определение в строке 133 файла usc.h.
Ссылки на pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::local_radius_.
setMinimalRadius()
| inline |
Минимальное значение радиуса для сферы поиска (rmin) в оригинальной статье.
- Параметры
-
[in] radius желаемый минимальный радиус
Определение в строке 112 файла usc.h.
Ссылки на pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::min_radius_.
setPointDensityRadius()
| inline |
Этот радиус используется для вычисления локальной плотности точек плотность = количество точек в пределах этого радиуса.
- Параметры
-
[in] radius Значение радиуса поиска плотности точек
Определение в строке 123 файла usc.h.
Ссылки на pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::point_density_radius_.
Данные члена
azimuth_bins_
| protected |
Ячейки по азимутальной размерности.
Определение в строке 170 файла usc.h.
Используется в pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::getAzimuthBins().
descriptor_length_
| protected |
elevation_bins_
| protected |
Ячейки по элевационной размерности.
Определение в строке 173 файла usc.h.
Используется в pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::getElevationBins().
local_radius_
| protected |
Радиус для вычисления локальной системы координат.
Определение в строке 188 файла usc.h.
Используется в pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::getLocalRadius() и pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::setLocalRadius().
min_radius_
| protected |
Минимальное значение радиуса.
Определение в строке 179 файла usc.h.
Используется в pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::getMinimalRadius() и pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::setMinimalRadius().
phi_divisions_
| protected |
point_density_radius_
| protected |
Радиус плотности точек.
Определение в строке 182 файла usc.h.
Используется в pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::getPointDensityRadius() и pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::setPointDensityRadius().
radii_interval_
| protected |
radius_bins_
| protected |
Ячейки по радиусной размерности.
Определение в строке 176 файла usc.h.
Используется в pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::getRadiusBins().
theta_divisions_
| protected |
volume_lut_
| protected |
Документация по этому классу была сгенерирована из следующих файлов:
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_unique_shape_context.html