UniqueShapeContext реализует дескриптор Unique Shape Context, описанный здесь: Подробнее...
#include <pcl/features/usc.h>
Открытые функции-члены | |
| 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 |
| Переопределить operator[] класса 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_ {14} |
| Бины по измерению азимута. Подробнее... |
|
| std::size_t | elevation_bins_ {14} |
| Бины по измерению угла места. Подробнее... |
|
| std::size_t | radius_bins_ {10} |
| Бины по измерению радиуса. Подробнее... |
|
| double | min_radius_ {0.1} |
| Минимальное значение радиуса. Подробнее... |
|
| double | point_density_radius_ {0.1} |
| Радиус плотности точек. Подробнее... |
|
| std::size_t | descriptor_length_ {} |
| Длина дескриптора. Подробнее... |
|
| double | local_radius_ {2.0} |
| Радиус для вычисления локальной системы координат. Подробнее... |
|
|
| |
| 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_ |
| Если поверхность не задана, в качестве поверхности используется входное облако точек. Подробнее... |
|
|
| |
| PointCloudConstPtr | input_ |
| Входной набор данных облака точек. Подробнее... |
|
| IndicesPtr | indices_ |
| Указатель на используемый вектор индексов точек. Подробнее... |
|
| bool | use_indices_ |
| Установить значение true, если используются индексы точек. Подробнее... |
|
| bool | fake_indices_ |
| Если набор индексов не задан, создаётся набор фиктивных индексов, соответствующий входному облаку точек. Подробнее... |
|
|
| |
| PointCloudLRFConstPtr | frames_ |
| Разделяемый указатель boost на локальные системы координат. Подробнее... |
|
| bool | frames_never_defined_ |
| Пользователь ни разу не задавал системы координат. Подробнее... |
|
Дополнительные унаследованные члены | |
|
| |
| using | LRFEstimationPtr = typename Feature< PointInT, pcl::ReferenceFrame >::Ptr |
| Проверить, правильно ли инициализирован frames_, и вычислить его при необходимости. Подробнее... |
|
Подробное описание
template<typename PointInT, typename PointOutT = pcl::UniqueShapeContext1960, typename PointRFT = pcl::ReferenceFrame>
class pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >
UniqueShapeContext реализует дескриптор уникального контекста формы, описанный в следующей работе:
- F. Tombari, S. Salti, L. Di Stefano, «Уникальный контекст формы для описания 3D-данных», Международный семинар по извлечению 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 |
- Возвращает
- Количество интервалов по азимуту.
Определение в строке 96 файла usc.h.
Ссылка: pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::azimuth_bins_.
getElevationBins()
| inline |
- Возвращает
- Количество интервалов по углу места
Определение в строке 100 файла usc.h.
Ссылка: pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::elevation_bins_.
getLocalRadius()
| inline |
- Возвращает
- Радиус локальной системы координат.
Определение в строке 135 файла usc.h.
Ссылка: pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::local_radius_.
getMinimalRadius()
| inline |
- Возвращает
- Минимальный радиус сферы.
Определение в строке 114 файла usc.h.
Ссылка: pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::min_radius_.
getPointDensityRadius()
| inline |
- Возвращает
- Радиус поиска плотности точек.
Определение в строке 125 файла usc.h.
Ссылка: pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::point_density_radius_.
getRadiusBins()
| inline |
- Возвращает
- Количество интервалов в радиальном направлении.
Определение в строке 104 файла 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 |
Задание значения радиуса локальной системы координат.
- Параметры
-
[in] radius требуемый радиус локальной системы координат
Определение в строке 131 файла usc.h.
Ссылка: pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::local_radius_.
setMinimalRadius()
| inline |
Минимальное значение радиуса сферы поиска (rmin) в исходной статье.
- Параметры
-
[in] radius требуемый минимальный радиус
Определение в строке 110 файла usc.h.
Ссылка: pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::min_radius_.
setPointDensityRadius()
| inline |
Этот радиус используется для вычисления локальной плотности точек: плотность = число точек в пределах этого радиуса.
- Параметры
-
[in] radius значение радиуса поиска для плотности точек
Определение в строке 121 файла usc.h.
Ссылка: pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::point_density_radius_.
Описание данных-членов
azimuth_bins_
| protected |
Интервалы вдоль азимутального измерения.
Определение в строке 168 файла usc.h.
Используется в: pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::getAzimuthBins().
descriptor_length_
| protected |
elevation_bins_
| protected |
Интервалы вдоль измерения угла места.
Определение в строке 171 файла usc.h.
Используется в: pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::getElevationBins().
local_radius_
| protected |
Радиус для вычисления локальной системы координат.
Определение в строке 186 файла usc.h.
Используется в: pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::getLocalRadius() и pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::setLocalRadius().
min_radius_
| protected |
Минимальное значение радиуса.
Определение в строке 177 файла usc.h.
Используется в: pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::getMinimalRadius() и pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::setMinimalRadius().
phi_divisions_
| protected |
point_density_radius_
| protected |
Радиус плотности точек.
Определено в строке 180 файла usc.h.
Используется в pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::getPointDensityRadius() и pcl::UniqueShapeContext< PointInT, PointOutT, PointRFT >::setPointDensityRadius().
radii_interval_
| protected |
radius_bins_
| protected |
Бины вдоль измерения радиуса.
Определено в строке 174 файла 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