Point Cloud Library (PCL) 1.14.0
Loading...
Searching...
No Matches
List of all members | Classes | Public Types | Public Member Functions | Protected Member Functions
pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT > Class Template Reference

Implementation of the BRISK-descriptor, based on the original code and paper reference by. More...

#include <pcl/features/brisk_2d.h>

Public Types

using Ptr = shared_ptr< BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT > >
 
using ConstPtr = shared_ptr< const BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT > >
 
using PointCloudInT = pcl::PointCloud< PointInT >
 
using PointCloudInTConstPtr = typename PointCloudInT::ConstPtr
 
using KeypointPointCloudT = pcl::PointCloud< KeypointT >
 
using KeypointPointCloudTPtr = typename KeypointPointCloudT::Ptr
 
using KeypointPointCloudTConstPtr = typename KeypointPointCloudT::ConstPtr
 
using PointCloudOutT = pcl::PointCloud< PointOutT >
 

Public Member Functions

 BRISK2DEstimation ()
 Constructor.
 
virtual ~BRISK2DEstimation ()
 Destructor.
 
void setRotationInvariance (const bool enable)
 Determines whether rotation invariance is enabled.
 
void setScaleInvariance (const bool enable)
 Determines whether scale invariance is enabled.
 
void setInputCloud (const PointCloudInTConstPtr &cloud)
 Sets the input cloud.
 
void setKeypoints (const KeypointPointCloudTPtr &keypoints)
 Sets the input keypoints.
 
void compute (PointCloudOutT &output)
 Computes the descriptors for the previously specified points and input data.
 

Protected Member Functions

void generateKernel (std::vector< float > &radius_list, std::vector< int > &number_list, float d_max=5.85f, float d_min=8.2f, std::vector< int > index_change=std::vector< int >())
 Call this to generate the kernel: circle of radius r (pixels), with n points; short pairings with dMax, long pairings with dMin.
 
int smoothedIntensity (const std::vector< unsigned char > &image, int image_width, int image_height, const std::vector< int > &integral_image, const float key_x, const float key_y, const unsigned int scale, const unsigned int rot, const unsigned int point) const
 Compute the smoothed intensity for a given x/y position in the image.
 

Detailed Description

template<typename PointInT, typename PointOutT = pcl::BRISKSignature512, typename KeypointT = pcl::PointWithScale, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>
class pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >

Implementation of the BRISK-descriptor, based on the original code and paper reference by.

Stefan Leutenegger,Margarita Chli and Roland Siegwart, BRISK: Binary Robust Invariant Scalable Keypoints, in Proceedings of the IEEE International Conference on Computer Vision (ICCV2011).
Warning
The input keypoints cloud is not const, and it will be modified: keypoints for which descriptors can not be computed will be deleted from the cloud.
Author
Radu B. Rusu, Stefan Holzer

Definition at line 66 of file brisk_2d.h.

Member Typedef Documentation

◆ ConstPtr

template<typename PointInT , typename PointOutT = pcl::BRISKSignature512, typename KeypointT = pcl::PointWithScale, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>
using pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::ConstPtr = shared_ptr<const BRISK2DEstimation<PointInT, PointOutT, KeypointT, IntensityT> >

Definition at line 70 of file brisk_2d.h.

◆ KeypointPointCloudT

template<typename PointInT , typename PointOutT = pcl::BRISKSignature512, typename KeypointT = pcl::PointWithScale, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>
using pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::KeypointPointCloudT = pcl::PointCloud<KeypointT>

Definition at line 75 of file brisk_2d.h.

◆ KeypointPointCloudTConstPtr

template<typename PointInT , typename PointOutT = pcl::BRISKSignature512, typename KeypointT = pcl::PointWithScale, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>
using pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::KeypointPointCloudTConstPtr = typename KeypointPointCloudT::ConstPtr

Definition at line 77 of file brisk_2d.h.

◆ KeypointPointCloudTPtr

template<typename PointInT , typename PointOutT = pcl::BRISKSignature512, typename KeypointT = pcl::PointWithScale, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>
using pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::KeypointPointCloudTPtr = typename KeypointPointCloudT::Ptr

Definition at line 76 of file brisk_2d.h.

◆ PointCloudInT

template<typename PointInT , typename PointOutT = pcl::BRISKSignature512, typename KeypointT = pcl::PointWithScale, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>
using pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::PointCloudInT = pcl::PointCloud<PointInT>

Definition at line 72 of file brisk_2d.h.

◆ PointCloudInTConstPtr

template<typename PointInT , typename PointOutT = pcl::BRISKSignature512, typename KeypointT = pcl::PointWithScale, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>
using pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::PointCloudInTConstPtr = typename PointCloudInT::ConstPtr

Definition at line 73 of file brisk_2d.h.

◆ PointCloudOutT

template<typename PointInT , typename PointOutT = pcl::BRISKSignature512, typename KeypointT = pcl::PointWithScale, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>
using pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::PointCloudOutT = pcl::PointCloud<PointOutT>

Definition at line 79 of file brisk_2d.h.

◆ Ptr

template<typename PointInT , typename PointOutT = pcl::BRISKSignature512, typename KeypointT = pcl::PointWithScale, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>
using pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::Ptr = shared_ptr<BRISK2DEstimation<PointInT, PointOutT, KeypointT, IntensityT> >

Definition at line 69 of file brisk_2d.h.

Constructor & Destructor Documentation

◆ BRISK2DEstimation()

template<typename PointInT , typename PointOutT , typename KeypointT , typename IntensityT >
pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::BRISK2DEstimation ( )

◆ ~BRISK2DEstimation()

template<typename PointInT , typename PointOutT , typename KeypointT , typename IntensityT >
pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::~BRISK2DEstimation ( )
virtual

Destructor.

Definition at line 83 of file brisk_2d.hpp.

Member Function Documentation

◆ compute()

template<typename PointInT , typename PointOutT , typename KeypointT , typename IntensityT >
void pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::compute ( PointCloudOutT output)

Computes the descriptors for the previously specified points and input data.

Parameters
[out]outputdescriptors the destination for the computed descriptors.

Definition at line 439 of file brisk_2d.hpp.

References pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, M_PI, pcl::PointCloud< PointT >::resize(), pcl::PointCloud< PointT >::size(), and pcl::PointCloud< PointT >::width.

◆ generateKernel()

template<typename PointInT , typename PointOutT , typename KeypointT , typename IntensityT >
void pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::generateKernel ( std::vector< float > &  radius_list,
std::vector< int > &  number_list,
float  d_max = 5.85f,
float  d_min = 8.2f,
std::vector< int >  index_change = std::vector<int> () 
)
protected

Call this to generate the kernel: circle of radius r (pixels), with n points; short pairings with dMax, long pairings with dMin.

Note
This should never be called by a regular user. We use a fixed type in PCL (BRISKSignature512) and tampering with the parameters might lead to a different size descriptor which the user needs to accommodate in a new point type.

Definition at line 94 of file brisk_2d.hpp.

References M_PI.

Referenced by pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::BRISK2DEstimation().

◆ setInputCloud()

template<typename PointInT , typename PointOutT = pcl::BRISKSignature512, typename KeypointT = pcl::PointWithScale, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>
void pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::setInputCloud ( const PointCloudInTConstPtr cloud)
inline

Sets the input cloud.

Parameters
[in]cloudthe input cloud.

Definition at line 109 of file brisk_2d.h.

◆ setKeypoints()

template<typename PointInT , typename PointOutT = pcl::BRISKSignature512, typename KeypointT = pcl::PointWithScale, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>
void pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::setKeypoints ( const KeypointPointCloudTPtr keypoints)
inline

Sets the input keypoints.

Parameters
[in]keypointsthe input cloud containing the keypoints.

Definition at line 118 of file brisk_2d.h.

◆ setRotationInvariance()

template<typename PointInT , typename PointOutT = pcl::BRISKSignature512, typename KeypointT = pcl::PointWithScale, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>
void pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::setRotationInvariance ( const bool  enable)
inline

Determines whether rotation invariance is enabled.

Parameters
[in]enabledetermines whether rotation invariance is enabled.

Definition at line 91 of file brisk_2d.h.

◆ setScaleInvariance()

template<typename PointInT , typename PointOutT = pcl::BRISKSignature512, typename KeypointT = pcl::PointWithScale, typename IntensityT = pcl::common::IntensityFieldAccessor<PointInT>>
void pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::setScaleInvariance ( const bool  enable)
inline

Determines whether scale invariance is enabled.

Parameters
[in]enabledetermines whether scale invariance is enabled.

Definition at line 100 of file brisk_2d.h.

◆ smoothedIntensity()

template<typename PointInT , typename PointOutT , typename KeypointT , typename IntensityT >
int pcl::BRISK2DEstimation< PointInT, PointOutT, KeypointT, IntensityT >::smoothedIntensity ( const std::vector< unsigned char > &  image,
int  image_width,
int  image_height,
const std::vector< int > &  integral_image,
const float  key_x,
const float  key_y,
const unsigned int  scale,
const unsigned int  rot,
const unsigned int  point 
) const
inlineprotected

Compute the smoothed intensity for a given x/y position in the image.

Definition at line 212 of file brisk_2d.hpp.

References pcl::B.


The documentation for this class was generated from the following files: