Spec-Zone.ru › PointCloudLibrary
SUSANKeypoint реализует расширение RGB-D детектора SUSAN, включающее вариацию нормальных направлений поверх вариации интенсивности. Подробнее...
#include <pcl/keypoints/susan.h >
using
Ptr = shared_ptr< SUSANKeypoint < PointInT, PointOutT, NormalT , IntensityT > >
using
ConstPtr = shared_ptr< const SUSANKeypoint < PointInT, PointOutT, NormalT , Intensity > >
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 >
SUSANKeypoint (float radius=0.01f, float distance_threshold=0.001f, float angular_threshold=0.0001f, float intensity_threshold=7.0f)
Конструктор. Подробнее...
~SUSANKeypoint () override=default
Пустой деструктор. Подробнее...
void
setRadius (float radius)
устанавливает радиус для оценки нормалей и подавления не-максимумов. Подробнее...
void
setDistanceThreshold (float distance_threshold)
void
setAngularThreshold (float angular_threshold)
устанавливает значение angular_threshold для обнаружения углов. Подробнее...
void
setIntensityThreshold (float intensity_threshold)
устанавливает значение intensity_threshold для обнаружения углов. Подробнее...
void
setNormals (const PointCloudNConstPtr &normals)
устанавливает нормали, если предварительно рассчитанные нормали доступны. Подробнее...
void
setSearchSurface (const PointCloudInConstPtr &cloud) override
void
setNumberOfThreads (unsigned int nr_threads)
Инициализировать планировщик и задать количество используемых потоков. Подробнее...
void
setNonMaxSupression (bool nonmax)
Применить подавление не-максимумов к ответам, чтобы сохранить самые сильные углы. Подробнее...
void
setGeometricValidation (bool validate)
Фильтр ложных срабатываний с использованием геометрических критериев. Подробнее...
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)
Указать указатель на входные данные. Подробнее...
template<typename PointInT, typename PointOutT, typename NormalT = pcl::Normal, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>> class pcl::SUSANKeypoint< PointInT, PointOutT, NormalT, IntensityT > SUSANKeypoint реализует расширение RGB-D детектора SUSAN, включающее вариации направлений нормалей поверх вариаций интенсивности.
Он отличается от Harris тем, что непосредственно использует нормали, что делает его быстрее. Исходная статья "SUSAN — A New Approach to Low Level Image Processing", Smith, Stephen M. и Brady, J. Michael
Автор
Nizar Sallem
Определение в строке 56 файла susan.h .
ConstPtr template<typename PointInT , typename PointOutT , typename NormalT = pcl::Normal, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>
KdTree template<typename PointInT , typename PointOutT , typename NormalT = pcl::Normal, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>
PointCloudIn template<typename PointInT , typename PointOutT , typename NormalT = pcl::Normal, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>
PointCloudInConstPtr template<typename PointInT , typename PointOutT , typename NormalT = pcl::Normal, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>
PointCloudN template<typename PointInT , typename PointOutT , typename NormalT = pcl::Normal, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>
PointCloudNConstPtr template<typename PointInT , typename PointOutT , typename NormalT = pcl::Normal, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>
PointCloudNPtr template<typename PointInT , typename PointOutT , typename NormalT = pcl::Normal, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>
PointCloudOut template<typename PointInT , typename PointOutT , typename NormalT = pcl::Normal, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>
Ptr template<typename PointInT , typename PointOutT , typename NormalT = pcl::Normal, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>
SUSANKeypoint() template<typename PointInT , typename PointOutT , typename NormalT = pcl::Normal, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>
pcl::SUSANKeypoint < PointInT, PointOutT, NormalT , IntensityT >::SUSANKeypoint ( float
radius = 0.01f, float
distance_threshold = 0.001f, float
angular_threshold = 0.0001f, float
intensity_threshold = 7.0f )
inline
~SUSANKeypoint() template<typename PointInT , typename PointOutT , typename NormalT = pcl::Normal, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>
detectKeypoints() template<typename PointInT , typename PointOutT , typename NormalT , typename IntensityT >
initCompute() template<typename PointInT , typename PointOutT , typename NormalT , typename IntensityT >
Переопределено из pcl::Keypoint< PointInT, PointOutT > .
Определение в строке 216 файла susan.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() .
isWithinNucleusCentroid() template<typename PointInT , typename PointOutT , typename NormalT , typename IntensityT >
bool pcl::SUSANKeypoint < PointInT, PointOutT, NormalT , IntensityT >::isWithinNucleusCentroid ( const Eigen::Vector3f &
nucleus , const Eigen::Vector3f &
centroid , const Eigen::Vector3f &
nc , const PointInT &
point )
const
protected
Возвращает true, если точка находится внутри линии между ядром и центром
Параметры
[in]
nucleus
координата ядра
[in]
centroid
центра SUSAN
[in]
nc
вектор к центру (используется для ускорения, т.к. он постоянен для данного соседства)
[in]
point
точка запроса для проверки
Возвращает
true, если точка лежит внутри [ядро центр]
Определение в строке 256 файла susan.hpp .
setAngularThreshold() template<typename PointInT , typename PointOutT , typename NormalT , typename IntensityT >
Установить значение angular_threshold для обнаружения углов.
Нормали считаются параллельными, если 1 - angular_threshold <= (Ni.Nj) <= 1
Параметры
Определение в строке 76 файла susan.hpp .
setDistanceThreshold() template<typename PointInT , typename PointOutT , typename NormalT , typename IntensityT >
setGeometricValidation() template<typename PointInT , typename PointOutT , typename NormalT , typename IntensityT >
Фильтр ложных срабатываний с использованием геометрических критериев.
Ядро и центр тяжести должны находиться на расстоянии как минимум distance_threshold друг от друга И все точки, принадлежащие USAN, должны находиться в сегменте [ядро центр тяжести].
Параметры
Определение в строке 55 файла susan.hpp .
setIntensityThreshold() template<typename PointInT , typename PointOutT , typename NormalT , typename IntensityT >
Установить значение intensity_threshold для обнаружения углов.
Параметры
Определение в строке 83 файла susan.hpp .
setNonMaxSupression() template<typename PointInT , typename PointOutT , typename NormalT , typename IntensityT >
Применить подавление не-максимумов к ответам, чтобы сохранить самые сильные углы.
Примечание
в SUSAN точки с меньшим ответом или более сильные углы
Определение в строке 48 файла susan.hpp .
setNormals() template<typename PointInT , typename PointOutT , typename NormalT , typename IntensityT >
Установить нормали, если предварительно рассчитанные нормали доступны.
Параметры
Определение в строке 90 файла susan.hpp .
setNumberOfThreads() template<typename PointInT , typename PointOutT , typename NormalT , typename IntensityT >
Инициализировать планировщик и установить количество потоков для использования.
Параметры
nr_threads
число аппаратных потоков для использования (0 устанавливает значение обратно в автоматическое)
Определение в строке 105 файла susan.hpp .
setRadius() template<typename PointInT , typename PointOutT , typename NormalT , typename IntensityT >
Установить радиус для оценки нормалей и подавления не-максимумов.
Параметры
Определение в строке 62 файла susan.hpp .
setSearchSurface() template<typename PointInT , typename PointOutT , typename NormalT , typename IntensityT >
Документация для этого класса была сгенерирована из следующих файлов: