HarrisKeypoint3D использует идею 2D-ключевых точек Харриса, но вместо градиентов изображения использует нормали поверхности. Подробнее...
#include <pcl/keypoints/harris_3d.h>
Открытые типы | |
| enum |
ResponseMethod { HARRIS = 1 , NOBLE , LOWE , TOMASI , CURVATURE } |
| using | Ptr = shared_ptr< HarrisKeypoint3D< PointInT, PointOutT, NormalT > > |
| using | ConstPtr = shared_ptr< const HarrisKeypoint3D< PointInT, PointOutT, NormalT > > |
| using | PointCloudIn = typename Keypoint< PointInT, PointOutT >::PointCloudIn |
| using | PointCloudOut = typename Keypoint< PointInT, PointOutT >::PointCloudOut |
| using | KdTree = typename Keypoint< PointInT, PointOutT >::KdTree |
| using | PointCloudInConstPtr = typename PointCloudIn::ConstPtr |
| using | PointCloudN = pcl::PointCloud< NormalT > |
| using | PointCloudNPtr = typename PointCloudN::Ptr |
| using | PointCloudNConstPtr = typename PointCloudN::ConstPtr |
|
| |
| using | Ptr = shared_ptr< Keypoint< PointInT, PointOutT > > |
| using | ConstPtr = shared_ptr< const Keypoint< PointInT, PointOutT > > |
| using | BaseClass = PCLBase< PointInT > |
| 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(pcl::index_t, double, pcl::Indices &, std::vector< float > &)> |
| using | SearchMethodSurface = std::function< int(const PointCloudIn &cloud, pcl::index_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 |
Общедоступные функции-члены | |
| HarrisKeypoint3D (ResponseMethod method=HARRIS, float radius=0.01f, float threshold=0.0f) | |
| Конструктор. Подробнее... |
|
| ~HarrisKeypoint3D () override=default | |
| Пустой деструктор. Подробнее... |
|
| void | setInputCloud (const PointCloudInConstPtr &cloud) override |
| Задать указатель на входной набор данных. Подробнее... |
|
| void | setMethod (ResponseMethod type) |
| Задать метод вычисления отклика. Подробнее... |
|
| void | setRadius (float radius) |
| Задать радиус для оценки нормалей и подавления немаксимумов. Подробнее... |
|
| void | setThreshold (float threshold) |
| Задать пороговое значение для обнаружения углов. Подробнее... |
|
| void | setNonMaxSupression (bool=false) |
| Следует ли применять подавление немаксимумов или возвращать отклик для каждой точки. Подробнее... |
|
| void | setRefine (bool do_refine) |
| Следует ли уточнять обнаруженные ключевые точки. Подробнее... |
|
| void | setNormals (const PointCloudNConstPtr &normals) |
| Задать нормали, если они были рассчитаны заранее. Подробнее... |
|
| void | setSearchSurface (const PointCloudInConstPtr &cloud) override |
| Задать указатель на набор данных, содержащий дополнительные сведения для оценки признаков каждой точки входного набора данных. Подробнее... |
|
| void | setNumberOfThreads (unsigned int nr_threads=0) |
| Инициализировать планировщик и задать количество используемых потоков. Подробнее... |
|
|
| |
| Keypoint ()=default | |
| Keypoint () | |
| Пустой конструктор. Подробнее... |
|
| void | harrisCorner (PointInT &output, PointInT &input, const float sigma_d, const float sigma_i, const float alpha, const float thresh) |
| void | hessianBlob (PointInT &output, PointInT &input, const float sigma, bool SCALE) |
| void | hessianBlob (PointInT &output, PointInT &input, const float start_scale, const float scaling_factor, const int num_scales) |
| void | imageElementMultiply (PointInT &output, PointInT &input1, PointInT &input2) |
| ~Keypoint () override=default | |
| Пустой деструктор. Подробнее... |
|
| virtual void | setSearchSurface (const PointCloudInConstPtr &cloud) |
| Задать указатель на входной набор данных, для каждой точки которого требуется оценить признаки. Подробнее... |
|
| PointCloudInConstPtr | getSearchSurface () |
| Получить указатель на набор данных облака точек поверхности. Подробнее... |
|
| void | setSearchMethod (const KdTreePtr &tree) |
| Задать указатель на объект поиска. Подробнее... |
|
| KdTreePtr | getSearchMethod () |
| Получить указатель на используемый метод поиска. Подробнее... |
|
| double | getSearchParameter () |
| Получить внутренний параметр поиска. Подробнее... |
|
| void | setKSearch (int k) |
| Задать количество k ближайших соседей, используемых для оценки признаков. Подробнее... |
|
| int | getKSearch () |
| Получить количество k ближайших соседей, используемых для оценки признаков. Подробнее... |
|
| void | setRadiusSearch (double radius) |
| Задать радиус сферы для определения ближайших соседей, используемых при обнаружении ключевых точек. Подробнее... |
|
| double | getRadiusSearch () |
| Получить радиус сферы, используемый для определения соседей. Подробнее... |
|
| pcl::PointIndicesConstPtr | getKeypointsIndices () |
| void | compute (PointCloudOut &output) |
| Базовый метод обнаружения ключевых точек для всех точек, заданных в <setInputCloud (), setIndices ()>, с использованием поверхности из setSearchSurface () и пространственного локатора из setSearchMethod () Подробнее... |
|
| int | searchForNeighbors (pcl::index_t index, double parameter, pcl::Indices &indices, std::vector< float > &distances) const |
| Выполнить поиск k ближайших соседей с помощью пространственного локатора из setSearchmethod и указанной поверхности из setSearchSurface. Подробнее... |
|
|
| |
| 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[] для сокращения кода. Подробнее... |
|
Защищённые функции-члены | |
| bool | initCompute () override |
| void | detectKeypoints (PointCloudOut &output) override |
| void | responseHarris (PointCloudOut &output) const |
| вычисляет отклик угла для допустимых входных точек Подробнее... |
|
| void | responseNoble (PointCloudOut &output) const |
| void | responseLowe (PointCloudOut &output) const |
| void | responseTomasi (PointCloudOut &output) const |
| void | responseCurvature (PointCloudOut &output) const |
| void | refineCorners (PointCloudOut &corners) const |
| void | calculateNormalCovar (const pcl::Indices &neighbors, float *coefficients) const |
| вычисляет верхнюю треугольную часть ненормированной ковариационной матрицы нормалей, заданных индексами. Подробнее... |
|
|
| |
| const std::string & | getClassName () const |
| Возвращает строковое представление имени этого класса. Подробнее... |
|
| virtual void | detectKeypoints (PointCloudOut &output)=0 |
| Абстрактный метод обнаружения ключевых точек. Подробнее... |
|
|
| |
| bool | initCompute () |
| Этот метод следует вызывать перед началом фактических вычислений. Подробнее... |
|
| bool | deinitCompute () |
| Этот метод следует вызывать после завершения фактических вычислений. Подробнее... |
|
Дополнительные унаследованные элементы | |
|
| |
| std::string | name_ |
| Имя метода обнаружения ключевых точек. Подробнее... |
|
| SearchMethod | search_method_ |
| Шаблон метода поиска для индексов. Подробнее... |
|
| SearchMethodSurface | search_method_surface_ |
| Шаблон метода поиска для точек. Подробнее... |
|
| PointCloudInConstPtr | surface_ |
| Входное облако точек, описывающее поверхность, используемую для оценки ближайших соседей. Подробнее... |
|
| KdTreePtr | tree_ |
| Указатель на объект пространственного поиска. Подробнее... |
|
| double | search_parameter_ |
| Фактический параметр поиска (приведённый к типу из search_radius_ или k_). Подробнее... |
|
| double | search_radius_ |
| Радиус поиска ближайших соседей для каждой точки. Подробнее... |
|
| int | k_ |
| Количество ближайших соседей, используемых для каждой точки. Подробнее... |
|
| pcl::PointIndicesPtr | keypoints_indices_ |
| Индексы ключевых точек во входном облаке. Подробнее... |
|
|
| |
| PointCloudConstPtr | input_ |
| Входной набор данных — облако точек. Подробнее... |
|
| IndicesPtr | indices_ |
| Указатель на вектор используемых индексов точек. Подробнее... |
|
| bool | use_indices_ |
| Установите значение true, если используются индексы точек. Подробнее... |
|
| bool | fake_indices_ |
| Если набор индексов не задан, создаётся набор фиктивных индексов, соответствующий входному облаку точек. Подробнее... |
|
Подробное описание
template<typename PointInT, typename PointOutT, typename NormalT = pcl::Normal>
class pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >
HarrisKeypoint3D использует идею двумерных ключевых точек Харриса, но вместо градиентов изображения использует нормали поверхности.
Определение в строке 51 файла harris_3d.h.
Документация псевдонимов типов-членов
ConstPtr
| using pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::ConstPtr = shared_ptr<const HarrisKeypoint3D<PointInT, PointOutT, NormalT> > |
Определение в строке 55 файла harris_3d.h.
KdTree
| using pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::KdTree = typename Keypoint<PointInT, PointOutT>::KdTree |
Определение в строке 59 файла harris_3d.h.
PointCloudIn
| using pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::PointCloudIn = typename Keypoint<PointInT, PointOutT>::PointCloudIn |
Определение в строке 57 файла harris_3d.h.
PointCloudInConstPtr
| using pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::PointCloudInConstPtr = typename PointCloudIn::ConstPtr |
Определение в строке 60 файла harris_3d.h.
PointCloudN
| using pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::PointCloudN = pcl::PointCloud<NormalT> |
Определение в строке 62 файла harris_3d.h.
PointCloudNConstPtr
| using pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::PointCloudNConstPtr = typename PointCloudN::ConstPtr |
Определение в строке 64 файла harris_3d.h.
PointCloudNPtr
| using pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::PointCloudNPtr = typename PointCloudN::Ptr |
Определение в строке 63 файла harris_3d.h.
PointCloudOut
| using pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::PointCloudOut = typename Keypoint<PointInT, PointOutT>::PointCloudOut |
Определение в строке 58 файла harris_3d.h.
Ptr
| using pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::Ptr = shared_ptr<HarrisKeypoint3D<PointInT, PointOutT, NormalT> > |
Определение в строке 54 файла harris_3d.h.
Документация перечислений-членов
ResponseMethod
| enum pcl::HarrisKeypoint3D::ResponseMethod |
| Элемент перечисления | |
|---|---|
| HARRIS | |
| NOBLE | |
| LOWE | |
| TOMASI | |
| CURVATURE | |
Определение в строке 78 файла harris_3d.h.
Документация конструкторов и деструкторов
HarrisKeypoint3D()
| inline |
Конструктор.
- Параметры
-
[in] method метод, используемый для определения откликов угловых точек [in] radius радиус для оценки нормалей и подавления немаксимумов [in] threshold порог для отсеивания слабых угловых точек
Определение в строке 85 файла harris_3d.h.
Ссылки: pcl::Keypoint< PointInT, PointOutT >::name_ и pcl::Keypoint< PointInT, PointOutT >::search_radius_.
~HarrisKeypoint3D()
| overridedefault |
Пустой деструктор.
Документация функций-членов
calculateNormalCovar()
| protected |
вычисляет верхнюю треугольную часть ненормированной ковариационной матрицы для нормалей, заданных индексами.
Определение в строке 103 файла harris_3d.hpp.
detectKeypoints()
| overrideprotected |
Определение в строке 238 файла harris_3d.hpp.
Ссылки: pcl::PointCloud< PointT >::is_dense, pcl::isFinite(), pcl::PointCloud< PointT >::points и pcl::PointCloud< PointT >::size().
initCompute()
| overrideprotectedvirtual |
Переопределяет реализацию из pcl::Keypoint< PointInT, PointOutT >.
Определение в строке 192 файла harris_3d.hpp.
Ссылки: pcl::Feature< PointInT, PointOutT >::compute(), pcl::NormalEstimation< PointInT, PointOutT >::setInputCloud(), pcl::IntegralImageNormalEstimation< PointInT, PointOutT >::setInputCloud(), pcl::IntegralImageNormalEstimation< PointInT, PointOutT >::setNormalEstimationMethod(), pcl::IntegralImageNormalEstimation< PointInT, PointOutT >::setNormalSmoothingSize() и pcl::Feature< PointInT, PointOutT >::setRadiusSearch().
refineCorners()
| protected |
Определение в строке 502 файла harris_3d.hpp.
responseCurvature()
| protected |
Определение в строке 439 файла harris_3d.hpp.
responseHarris()
| protected |
получает отклик угловых точек для допустимых входных точек
Определение в строке 318 файла harris_3d.hpp.
Ссылки: pcl::isFinite().
responseLowe()
| protected |
Определение в строке 399 файла harris_3d.hpp.
Ссылки: pcl::isFinite().
responseNoble()
| protected |
Определение в строке 359 файла harris_3d.hpp.
Ссылки: pcl::isFinite().
responseTomasi()
| protected |
Определение в строке 457 файла harris_3d.hpp.
Ссылки: pcl::eigen33() и pcl::isFinite().
setInputCloud()
| override |
Задает указатель на входной набор данных.
- Параметры
-
[in] cloud константный общий указатель Boost на сообщение PointCloud
Определение в строке 52 файла harris_3d.hpp.
setMethod()
| void pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::setMethod | ( | ResponseMethod | type | ) |
setNonMaxSupression()
| void pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::setNonMaxSupression | ( | bool |
nonmax = false
|
) |
Определяет, следует ли применять подавление немаксимумов или возвращать отклик для каждой точки.
- Примечание
- это значение необходимо включить, чтобы применять пороговую фильтрацию и уточнение
- Параметры
-
[in] nonmax по умолчанию — false
Определение в строке 89 файла harris_3d.hpp.
setNormals()
| void pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::setNormals | ( | const PointCloudNConstPtr & | normals | ) |
Задает нормали, если имеются предварительно вычисленные нормали.
- Параметры
-
normals
Определение в строке 96 файла harris_3d.hpp.
setNumberOfThreads()
| inline |
Инициализирует планировщик и задает количество используемых потоков.
- Параметры
-
nr_threads количество используемых аппаратных потоков (0 возвращает значение в автоматический режим)
Определение в строке 155 файла harris_3d.h.
setRadius()
| void pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::setRadius | ( | float | radius | ) |
Задает радиус для оценки нормалей и подавления немаксимумов.
- Параметры
-
[in] radius
Определение в строке 75 файла harris_3d.hpp.
setRefine()
| void pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::setRefine | ( | bool | do_refine | ) |
Определяет, следует ли уточнять обнаруженные ключевые точки.
Если параметр выключен, ключевые точки являются подмножеством исходного облака точек. В противном случае ключевые точки могут быть произвольными.
Примечание: для использования этой функции необходимо включить подавление немаксимумов.
- Параметры
-
[in] do_refine
Определение в строке 82 файла harris_3d.hpp.
setSearchSurface()
| inlineoverride |
Задает указатель на набор данных, содержащий дополнительные сведения для оценки признаков каждой точки входного набора данных.
Этот параметр необязателен. Если он не задан, для оценки признаков используются только данные входного облака. Это полезно, когда признаки нужно вычислить только для облака с уменьшенным количеством точек.
- Параметры
-
[in] cloud указатель на сообщение PointCloud
Определение в строке 149 файла harris_3d.h.
setThreshold()
| void pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::setThreshold | ( | float | threshold | ) |
Задает пороговое значение для обнаружения угловых точек.
Значение учитывается только при включенном подавлении немаксимумов.
Примечание: для использования этой функции необходимо включить подавление немаксимумов.
- Параметры
-
[in] threshold
Определение в строке 68 файла harris_3d.hpp.
Документация этого класса создана на основе следующих файлов:
- pcl/keypoints/harris_3d.h
- pcl/keypoints/impl/harris_3d.hpp
© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_harris_keypoint3_d.html