W3cubDocs

/PointCloudLibrary

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

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. More...
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. More...

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 90 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] output descriptors the destination for the computed descriptors.

Definition at line 446 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 101 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] cloud the 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] keypoints the 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] enable determines 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] enable determines 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 219 of file brisk_2d.hpp.

References pcl::B.


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

© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_b_r_i_s_k2_d_estimation.html