Spec-Zone.ru › PointCloudLibrary

HarrisKeypoint3D использует идею 2D-ключевых точек Харриса, но вместо градиентов изображения использует нормали поверхности. Подробнее...

#include <pcl/keypoints/harris_3d.h>

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

Открытые типы

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
- Открытые типы, унаследованные от pcl::Keypoint< PointInT, PointOutT >
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 > &)>
- Открытые типы, унаследованные от 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

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

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)
Инициализировать планировщик и задать количество используемых потоков. Подробнее...
- Общедоступные функции-члены, унаследованные от pcl::Keypoint< PointInT, PointOutT >
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. Подробнее...
- Общедоступные функции-члены, унаследованные от 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 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
вычисляет верхнюю треугольную часть ненормированной ковариационной матрицы нормалей, заданных индексами. Подробнее...
- Защищённые функции-члены, унаследованные от pcl::Keypoint< PointInT, PointOutT >
const std::string & getClassName () const
Возвращает строковое представление имени этого класса. Подробнее...
virtual void detectKeypoints (PointCloudOut &output)=0
Абстрактный метод обнаружения ключевых точек. Подробнее...
- Защищённые функции-члены, унаследованные от pcl::PCLBase< PointInT >
bool initCompute ()
Этот метод следует вызывать перед началом фактических вычислений. Подробнее...
bool deinitCompute ()
Этот метод следует вызывать после завершения фактических вычислений. Подробнее...

Дополнительные унаследованные элементы

- Защищённые атрибуты, унаследованные от pcl::Keypoint< PointInT, PointOutT >
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_
Индексы ключевых точек во входном облаке. Подробнее...
- Защищённые атрибуты, унаследованные от pcl::PCLBase< PointInT >
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 использует идею двумерных ключевых точек Харриса, но вместо градиентов изображения использует нормали поверхности.

Автор
Suat Gedikli

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

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

ConstPtr

template<typename PointInT , typename PointOutT , typename NormalT = pcl::Normal>
using pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::ConstPtr = shared_ptr<const HarrisKeypoint3D<PointInT, PointOutT, NormalT> >

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

KdTree

template<typename PointInT , typename PointOutT , typename NormalT = pcl::Normal>
using pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::KdTree = typename Keypoint<PointInT, PointOutT>::KdTree

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

PointCloudIn

template<typename PointInT , typename PointOutT , typename NormalT = pcl::Normal>
using pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::PointCloudIn = typename Keypoint<PointInT, PointOutT>::PointCloudIn

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

PointCloudInConstPtr

template<typename PointInT , typename PointOutT , typename NormalT = pcl::Normal>
using pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::PointCloudInConstPtr = typename PointCloudIn::ConstPtr

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

PointCloudN

template<typename PointInT , typename PointOutT , typename NormalT = pcl::Normal>
using pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::PointCloudN = pcl::PointCloud<NormalT>

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

PointCloudNConstPtr

template<typename PointInT , typename PointOutT , typename NormalT = pcl::Normal>
using pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::PointCloudNConstPtr = typename PointCloudN::ConstPtr

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

PointCloudNPtr

template<typename PointInT , typename PointOutT , typename NormalT = pcl::Normal>
using pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::PointCloudNPtr = typename PointCloudN::Ptr

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

PointCloudOut

template<typename PointInT , typename PointOutT , typename NormalT = pcl::Normal>
using pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::PointCloudOut = typename Keypoint<PointInT, PointOutT>::PointCloudOut

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

Ptr

template<typename PointInT , typename PointOutT , typename NormalT = pcl::Normal>
using pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::Ptr = shared_ptr<HarrisKeypoint3D<PointInT, PointOutT, NormalT> >

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

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

ResponseMethod

template<typename PointInT , typename PointOutT , typename NormalT = pcl::Normal>
enum pcl::HarrisKeypoint3D::ResponseMethod
Элемент перечисления
HARRIS
NOBLE
LOWE
TOMASI
CURVATURE

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

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

HarrisKeypoint3D()

template<typename PointInT , typename PointOutT , typename NormalT = pcl::Normal>
pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::HarrisKeypoint3D ( ResponseMethod method = HARRIS,
float radius = 0.01f,
float threshold = 0.0f
)
inline

Конструктор.

Параметры
[in] method метод, используемый для определения откликов угловых точек
[in] radius радиус для оценки нормалей и подавления немаксимумов
[in] threshold порог для отсеивания слабых угловых точек

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

Ссылки: pcl::Keypoint< PointInT, PointOutT >::name_ и pcl::Keypoint< PointInT, PointOutT >::search_radius_.

~HarrisKeypoint3D()

template<typename PointInT , typename PointOutT , typename NormalT = pcl::Normal>
pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::~HarrisKeypoint3D ( )
overridedefault

Пустой деструктор.

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

calculateNormalCovar()

template<typename PointInT , typename PointOutT , typename NormalT >
void pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::calculateNormalCovar ( const pcl::Indices & neighbors,
float * coefficients
) const
protected

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

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

detectKeypoints()

template<typename PointInT , typename PointOutT , typename NormalT >
void pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::detectKeypoints ( PointCloudOut & output )
overrideprotected

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

Ссылки: pcl::PointCloud< PointT >::is_dense, pcl::isFinite(), pcl::PointCloud< PointT >::points и pcl::PointCloud< PointT >::size().

initCompute()

template<typename PointInT , typename PointOutT , typename NormalT >
bool pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::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()

template<typename PointInT , typename PointOutT , typename NormalT >
void pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::refineCorners ( PointCloudOut & corners ) const
protected

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

responseCurvature()

template<typename PointInT , typename PointOutT , typename NormalT >
void pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::responseCurvature ( PointCloudOut & output ) const
protected

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

responseHarris()

template<typename PointInT , typename PointOutT , typename NormalT >
void pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::responseHarris ( PointCloudOut & output ) const
protected

получает отклик угловых точек для допустимых входных точек

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

Ссылки: pcl::isFinite().

responseLowe()

template<typename PointInT , typename PointOutT , typename NormalT >
void pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::responseLowe ( PointCloudOut & output ) const
protected

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

Ссылки: pcl::isFinite().

responseNoble()

template<typename PointInT , typename PointOutT , typename NormalT >
void pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::responseNoble ( PointCloudOut & output ) const
protected

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

Ссылки: pcl::isFinite().

responseTomasi()

template<typename PointInT , typename PointOutT , typename NormalT >
void pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::responseTomasi ( PointCloudOut & output ) const
protected

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

Ссылки: pcl::eigen33() и pcl::isFinite().

setInputCloud()

template<typename PointInT , typename PointOutT , typename NormalT >
void pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::setInputCloud ( const PointCloudInConstPtr & cloud )
override

Задает указатель на входной набор данных.

Параметры
[in] cloud константный общий указатель Boost на сообщение PointCloud

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

setMethod()

template<typename PointInT , typename PointOutT , typename NormalT >
void pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::setMethod ( ResponseMethod type )

Задает метод вычисления отклика.

Параметры
[in] type

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

setNonMaxSupression()

template<typename PointInT , typename PointOutT , typename NormalT >
void pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::setNonMaxSupression ( bool nonmax = false )

Определяет, следует ли применять подавление немаксимумов или возвращать отклик для каждой точки.

Примечание
это значение необходимо включить, чтобы применять пороговую фильтрацию и уточнение
Параметры
[in] nonmax по умолчанию — false

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

setNormals()

template<typename PointInT , typename PointOutT , typename NormalT >
void pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::setNormals ( const PointCloudNConstPtr & normals )

Задает нормали, если имеются предварительно вычисленные нормали.

Параметры
normals

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

setNumberOfThreads()

template<typename PointInT , typename PointOutT , typename NormalT = pcl::Normal>
void pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::setNumberOfThreads ( unsigned int nr_threads = 0 )
inline

Инициализирует планировщик и задает количество используемых потоков.

Параметры
nr_threads количество используемых аппаратных потоков (0 возвращает значение в автоматический режим)

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

setRadius()

template<typename PointInT , typename PointOutT , typename NormalT >
void pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::setRadius ( float radius )

Задает радиус для оценки нормалей и подавления немаксимумов.

Параметры
[in] radius

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

setRefine()

template<typename PointInT , typename PointOutT , typename NormalT >
void pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::setRefine ( bool do_refine )

Определяет, следует ли уточнять обнаруженные ключевые точки.

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

Примечание: для использования этой функции необходимо включить подавление немаксимумов.

Параметры
[in] do_refine

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

setSearchSurface()

template<typename PointInT , typename PointOutT , typename NormalT = pcl::Normal>
void pcl::HarrisKeypoint3D< PointInT, PointOutT, NormalT >::setSearchSurface ( const PointCloudInConstPtr & cloud )
inlineoverride

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

Этот параметр необязателен. Если он не задан, для оценки признаков используются только данные входного облака. Это полезно, когда признаки нужно вычислить только для облака с уменьшенным количеством точек.

Параметры
[in] cloud указатель на сообщение PointCloud

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

Ссылка: pcl::Keypoint< PointInT, PointOutT >::surface_.

setThreshold()

template<typename PointInT , typename PointOutT , typename NormalT >
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

Spec-Zone.ru

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