Point Cloud Library (PCL)
1.14.1-dev
|
Modality based on max-RGB gradients. More...
#include <pcl/recognition/color_gradient_modality.h>
Classes | |
struct | Candidate |
Candidate for a feature (used in feature extraction methods). More... | |
Public Types | |
enum | FeatureSelectionMethod { MASK_BORDER_HIGH_GRADIENTS , MASK_BORDER_EQUALLY , DISTANCE_MAGNITUDE_SCORE } |
Different methods for feature selection/extraction. More... | |
using | PointCloudIn = pcl::PointCloud< PointInT > |
Public Types inherited from 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 |
Public Member Functions | |
ColorGradientModality () | |
Constructor. More... | |
~ColorGradientModality () override | |
Destructor. More... | |
void | setGradientMagnitudeThreshold (const float threshold) |
Sets the threshold for the gradient magnitude which is used when quantizing the data. More... | |
void | setGradientMagnitudeThresholdForFeatureExtraction (const float threshold) |
Sets the threshold for the gradient magnitude which is used for feature extraction. More... | |
void | setFeatureSelectionMethod (const FeatureSelectionMethod method) |
Sets the feature selection method. More... | |
void | setSpreadingSize (const std::size_t spreading_size) |
Sets the spreading size for spreading the quantized data. More... | |
void | setVariableFeatureNr (const bool enabled) |
Sets whether variable feature numbers for feature extraction is enabled. More... | |
QuantizedMap & | getQuantizedMap () override |
Returns a reference to the internally computed quantized map. More... | |
QuantizedMap & | getSpreadedQuantizedMap () override |
Returns a reference to the internally computed spread quantized map. More... | |
pcl::PointCloud< pcl::GradientXY > & | getMaxColorGradients () |
Returns a point cloud containing the max-RGB gradients. More... | |
void | extractFeatures (const MaskMap &mask, std::size_t nr_features, std::size_t modalityIndex, std::vector< QuantizedMultiModFeature > &features) const override |
Extracts features from this modality within the specified mask. More... | |
void | extractAllFeatures (const MaskMap &mask, std::size_t nr_features, std::size_t modalityIndex, std::vector< QuantizedMultiModFeature > &features) const override |
Extracts all possible features from the modality within the specified mask. More... | |
void | setInputCloud (const typename PointCloudIn::ConstPtr &cloud) override |
Provide a pointer to the input dataset (overwrites the PCLBase::setInputCloud method) More... | |
virtual void | processInputData () |
Processes the input data (smoothing, computing gradients, quantizing, filtering, spreading). More... | |
virtual void | processInputDataFromFiltered () |
Processes the input data assuming that everything up to filtering is already done/available (so only spreading is performed). More... | |
Public Member Functions inherited from pcl::QuantizableModality | |
QuantizableModality () | |
Constructor. More... | |
virtual | ~QuantizableModality () |
Destructor. More... | |
Public Member Functions inherited from pcl::PCLBase< PointInT > | |
PCLBase () | |
Empty constructor. More... | |
PCLBase (const PCLBase &base) | |
Copy constructor. More... | |
virtual | ~PCLBase ()=default |
Destructor. More... | |
virtual void | setInputCloud (const PointCloudConstPtr &cloud) |
Provide a pointer to the input dataset. More... | |
PointCloudConstPtr const | getInputCloud () const |
Get a pointer to the input point cloud dataset. More... | |
virtual void | setIndices (const IndicesPtr &indices) |
Provide a pointer to the vector of indices that represents the input data. More... | |
virtual void | setIndices (const IndicesConstPtr &indices) |
Provide a pointer to the vector of indices that represents the input data. More... | |
virtual void | setIndices (const PointIndicesConstPtr &indices) |
Provide a pointer to the vector of indices that represents the input data. More... | |
virtual void | setIndices (std::size_t row_start, std::size_t col_start, std::size_t nb_rows, std::size_t nb_cols) |
Set the indices for the points laying within an interest region of the point cloud. More... | |
IndicesPtr | getIndices () |
Get a pointer to the vector of indices used. More... | |
IndicesConstPtr const | getIndices () const |
Get a pointer to the vector of indices used. More... | |
const PointInT & | operator[] (std::size_t pos) const |
Override PointCloud operator[] to shorten code. More... | |
Protected Member Functions | |
void | computeGaussianKernel (const std::size_t kernel_size, const float sigma, std::vector< float > &kernel_values) |
Computes the Gaussian kernel used for smoothing. More... | |
void | computeMaxColorGradients (const typename pcl::PointCloud< pcl::RGB >::ConstPtr &cloud) |
Computes the max-RGB gradients for the specified cloud. More... | |
void | computeMaxColorGradientsSobel (const typename pcl::PointCloud< pcl::RGB >::ConstPtr &cloud) |
Computes the max-RGB gradients for the specified cloud using sobel. More... | |
void | quantizeColorGradients () |
Quantizes the color gradients. More... | |
void | filterQuantizedColorGradients () |
Filters the quantized gradients. More... | |
Protected Member Functions inherited from pcl::PCLBase< PointInT > | |
bool | initCompute () |
This method should get called before starting the actual computation. More... | |
bool | deinitCompute () |
This method should get called after finishing the actual computation. More... | |
Static Protected Member Functions | |
static void | erode (const pcl::MaskMap &mask_in, pcl::MaskMap &mask_out) |
Erodes a mask. More... | |
Additional Inherited Members | |
Protected Attributes inherited from pcl::PCLBase< PointInT > | |
PointCloudConstPtr | input_ |
The input point cloud dataset. More... | |
IndicesPtr | indices_ |
A pointer to the vector of point indices to use. More... | |
bool | use_indices_ |
Set to true if point indices are used. More... | |
bool | fake_indices_ |
If no set of indices are given, we construct a set of fake indices that mimic the input PointCloud. More... | |
Modality based on max-RGB gradients.
Definition at line 57 of file color_gradient_modality.h.
using pcl::ColorGradientModality< PointInT >::PointCloudIn = pcl::PointCloud<PointInT> |
Definition at line 84 of file color_gradient_modality.h.
enum pcl::ColorGradientModality::FeatureSelectionMethod |
Different methods for feature selection/extraction.
Enumerator | |
---|---|
MASK_BORDER_HIGH_GRADIENTS | |
MASK_BORDER_EQUALLY | |
DISTANCE_MAGNITUDE_SCORE |
Definition at line 87 of file color_gradient_modality.h.
pcl::ColorGradientModality< PointInT >::ColorGradientModality |
Constructor.
Definition at line 275 of file color_gradient_modality.h.
|
overridedefault |
Destructor.
|
protected |
Computes the Gaussian kernel used for smoothing.
[in] | kernel_size | the size of the Gaussian kernel. |
[in] | sigma | the sigma. |
[out] | kernel_values | the destination for the values of the kernel. |
Definition at line 289 of file color_gradient_modality.h.
|
protected |
Computes the max-RGB gradients for the specified cloud.
[in] | cloud | the cloud for which the gradients are computed. |
Definition at line 741 of file color_gradient_modality.h.
References pcl::GradientXY::angle, pcl::PointCloud< PointT >::height, pcl::GradientXY::magnitude, pcl::PointCloud< PointT >::width, pcl::GradientXY::x, and pcl::GradientXY::y.
|
protected |
Computes the max-RGB gradients for the specified cloud using sobel.
[in] | cloud | the cloud for which the gradients are computed. |
Definition at line 828 of file color_gradient_modality.h.
References pcl::GradientXY::angle, pcl::PointCloud< PointT >::height, pcl::GradientXY::magnitude, pcl::PointCloud< PointT >::width, pcl::GradientXY::x, and pcl::GradientXY::y.
|
staticprotected |
Erodes a mask.
[in] | mask_in | the mask which will be eroded. |
[out] | mask_out | the destination for the eroded mask. |
Definition at line 1083 of file color_gradient_modality.h.
References pcl::MaskMap::getHeight(), pcl::MaskMap::getWidth(), and pcl::MaskMap::resize().
|
overridevirtual |
Extracts all possible features from the modality within the specified mask.
[in] | mask | defines the areas where features are searched in. |
[in] | nr_features | IGNORED (TODO: remove this parameter). |
[in] | modalityIndex | the index which is stored in the extracted features. |
[out] | features | the destination for the extracted features. |
Implements pcl::QuantizableModality.
Definition at line 691 of file color_gradient_modality.h.
References pcl::MaskMap::getHeight(), pcl::MaskMap::getWidth(), pcl::ColorGradientModality< PointInT >::Candidate::gradient, pcl::GradientXY::magnitude, pcl::QuantizedMultiModFeature::modality_index, pcl::QuantizedMultiModFeature::quantized_value, pcl::ColorGradientModality< PointInT >::Candidate::x, pcl::QuantizedMultiModFeature::x, pcl::ColorGradientModality< PointInT >::Candidate::y, and pcl::QuantizedMultiModFeature::y.
|
overridevirtual |
Extracts features from this modality within the specified mask.
[in] | mask | defines the areas where features are searched in. |
[in] | nr_features | defines the number of features to be extracted (might be less if not sufficient information is present in the modality). |
[in] | modalityIndex | the index which is stored in the extracted features. |
[out] | features | the destination for the extracted features. |
Implements pcl::QuantizableModality.
Definition at line 405 of file color_gradient_modality.h.
References pcl::geometry::distance(), pcl::MaskMap::getDifferenceMask(), pcl::MaskMap::getHeight(), pcl::MaskMap::getWidth(), pcl::ColorGradientModality< PointInT >::Candidate::gradient, pcl::GradientXY::magnitude, pcl::QuantizedMultiModFeature::modality_index, pcl::QuantizedMultiModFeature::quantized_value, pcl::ColorGradientModality< PointInT >::Candidate::x, pcl::QuantizedMultiModFeature::x, pcl::ColorGradientModality< PointInT >::Candidate::y, and pcl::QuantizedMultiModFeature::y.
|
protected |
Filters the quantized gradients.
Definition at line 1013 of file color_gradient_modality.h.
|
inline |
Returns a point cloud containing the max-RGB gradients.
Definition at line 160 of file color_gradient_modality.h.
|
inlineoverridevirtual |
Returns a reference to the internally computed quantized map.
Implements pcl::QuantizableModality.
Definition at line 146 of file color_gradient_modality.h.
|
inlineoverridevirtual |
Returns a reference to the internally computed spread quantized map.
Implements pcl::QuantizableModality.
Definition at line 153 of file color_gradient_modality.h.
|
virtual |
Processes the input data (smoothing, computing gradients, quantizing, filtering, spreading).
Definition at line 335 of file color_gradient_modality.h.
References pcl::filters::Convolution< PointIn, PointOut >::convolve(), pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::is_dense, pcl::PointCloud< PointT >::resize(), pcl::filters::Convolution< PointIn, PointOut >::setBordersPolicy(), pcl::filters::Convolution< PointIn, PointOut >::setInputCloud(), pcl::filters::Convolution< PointIn, PointOut >::setKernel(), pcl::QuantizedMap::spreadQuantizedMap(), and pcl::PointCloud< PointT >::width.
|
virtual |
Processes the input data assuming that everything up to filtering is already done/available (so only spreading is performed).
Definition at line 393 of file color_gradient_modality.h.
References pcl::QuantizedMap::spreadQuantizedMap().
|
protected |
Quantizes the color gradients.
Definition at line 950 of file color_gradient_modality.h.
|
inline |
Sets the feature selection method.
[in] | method | the feature selection method. |
Definition at line 123 of file color_gradient_modality.h.
|
inline |
Sets the threshold for the gradient magnitude which is used when quantizing the data.
Gradients with a smaller magnitude are ignored.
[in] | threshold | the new gradient magnitude threshold. |
Definition at line 104 of file color_gradient_modality.h.
|
inline |
Sets the threshold for the gradient magnitude which is used for feature extraction.
Gradients with a smaller magnitude are ignored.
[in] | threshold | the new gradient magnitude threshold. |
Definition at line 114 of file color_gradient_modality.h.
|
inlineoverride |
Provide a pointer to the input dataset (overwrites the PCLBase::setInputCloud method)
cloud | the const boost shared pointer to a PointCloud message |
Definition at line 190 of file color_gradient_modality.h.
References pcl::PCLBase< PointInT >::input_.
|
inline |
Sets the spreading size for spreading the quantized data.
Definition at line 130 of file color_gradient_modality.h.
|
inline |
Sets whether variable feature numbers for feature extraction is enabled.
[in] | enabled | enables/disables variable feature numbers for feature extraction. |
Definition at line 139 of file color_gradient_modality.h.