Point Cloud Library (PCL)
1.14.1-dev
|
Class GaussianKernel assembles all the method for computing, convolving, smoothing, gradients computing an image using a gaussian kernel. More...
#include <pcl/common/gaussian.h>
Public Member Functions | |
void | compute (float sigma, Eigen::VectorXf &kernel, unsigned kernel_width=MAX_KERNEL_WIDTH) const |
Computes the gaussian kernel and dervative associated to sigma. More... | |
void | compute (float sigma, Eigen::VectorXf &kernel, Eigen::VectorXf &derivative, unsigned kernel_width=MAX_KERNEL_WIDTH) const |
Computes the gaussian kernel and dervative associated to sigma. More... | |
void | convolveRows (const pcl::PointCloud< float > &input, const Eigen::VectorXf &kernel, pcl::PointCloud< float > &output) const |
Convolve a float image rows by a given kernel. More... | |
template<typename PointT > | |
void | convolveRows (const pcl::PointCloud< PointT > &input, std::function< float(const PointT &p)> field_accessor, const Eigen::VectorXf &kernel, pcl::PointCloud< float > &output) const |
Convolve a float image rows by a given kernel. More... | |
void | convolveCols (const pcl::PointCloud< float > &input, const Eigen::VectorXf &kernel, pcl::PointCloud< float > &output) const |
Convolve a float image columns by a given kernel. More... | |
template<typename PointT > | |
void | convolveCols (const pcl::PointCloud< PointT > &input, std::function< float(const PointT &p)> field_accessor, const Eigen::VectorXf &kernel, pcl::PointCloud< float > &output) const |
Convolve a float image columns by a given kernel. More... | |
void | convolve (const pcl::PointCloud< float > &input, const Eigen::VectorXf &horiz_kernel, const Eigen::VectorXf &vert_kernel, pcl::PointCloud< float > &output) const |
Convolve a float image in the 2 directions. More... | |
template<typename PointT > | |
void | convolve (const pcl::PointCloud< PointT > &input, std::function< float(const PointT &p)> field_accessor, const Eigen::VectorXf &horiz_kernel, const Eigen::VectorXf &vert_kernel, pcl::PointCloud< float > &output) const |
Convolve a float image in the 2 directions. More... | |
void | computeGradients (const pcl::PointCloud< float > &input, const Eigen::VectorXf &gaussian_kernel, const Eigen::VectorXf &gaussian_kernel_derivative, pcl::PointCloud< float > &grad_x, pcl::PointCloud< float > &grad_y) const |
Computes float image gradients using a gaussian kernel and gaussian kernel derivative. More... | |
template<typename PointT > | |
void | computeGradients (const pcl::PointCloud< PointT > &input, std::function< float(const PointT &p)> field_accessor, const Eigen::VectorXf &gaussian_kernel, const Eigen::VectorXf &gaussian_kernel_derivative, pcl::PointCloud< float > &grad_x, pcl::PointCloud< float > &grad_y) const |
Computes float image gradients using a gaussian kernel and gaussian kernel derivative. More... | |
void | smooth (const pcl::PointCloud< float > &input, const Eigen::VectorXf &gaussian_kernel, pcl::PointCloud< float > &output) const |
Smooth image using a gaussian kernel. More... | |
template<typename PointT > | |
void | smooth (const pcl::PointCloud< PointT > &input, std::function< float(const PointT &p)> field_accessor, const Eigen::VectorXf &gaussian_kernel, pcl::PointCloud< float > &output) const |
Smooth image using a gaussian kernel. More... | |
Static Public Attributes | |
static const unsigned | MAX_KERNEL_WIDTH = 71 |
Class GaussianKernel assembles all the method for computing, convolving, smoothing, gradients computing an image using a gaussian kernel.
The image is stored in point cloud elements intensity member or rgb or...
Definition at line 57 of file gaussian.h.
void pcl::GaussianKernel::compute | ( | float | sigma, |
Eigen::VectorXf & | kernel, | ||
Eigen::VectorXf & | derivative, | ||
unsigned | kernel_width = MAX_KERNEL_WIDTH |
||
) | const |
Computes the gaussian kernel and dervative associated to sigma.
The kernel and derivative width are adjusted according.
[in] | sigma | |
[out] | kernel | the computed gaussian kernel |
[out] | derivative | the computed kernel derivative |
[in] | kernel_width | the desired kernel width upper bond |
pcl::KernelWidthTooSmallException |
void pcl::GaussianKernel::compute | ( | float | sigma, |
Eigen::VectorXf & | kernel, | ||
unsigned | kernel_width = MAX_KERNEL_WIDTH |
||
) | const |
Computes the gaussian kernel and dervative associated to sigma.
The kernel and derivative width are adjusted according.
[in] | sigma | |
[out] | kernel | the computed gaussian kernel |
[in] | kernel_width | the desired kernel width upper bond |
pcl::KernelWidthTooSmallException |
|
inline |
Computes float image gradients using a gaussian kernel and gaussian kernel derivative.
[in] | input | image to compute gardients for |
[in] | gaussian_kernel | the gaussian kernel to be used |
[in] | gaussian_kernel_derivative | the associated derivative |
[out] | grad_x | gradient along X direction |
[out] | grad_y | gradient along Y direction |
Definition at line 195 of file gaussian.h.
|
inline |
Computes float image gradients using a gaussian kernel and gaussian kernel derivative.
[in] | input | image to compute gardients for |
[in] | field_accessor | a field accessor |
[in] | gaussian_kernel | the gaussian kernel to be used |
[in] | gaussian_kernel_derivative | the associated derivative |
[out] | grad_x | gradient along X direction |
[out] | grad_y | gradient along Y direction |
Definition at line 217 of file gaussian.h.
|
inline |
Convolve a float image in the 2 directions.
[in] | horiz_kernel | kernel for convolving rows |
[in] | vert_kernel | kernel for convolving columns |
[in] | input | image to convolve |
[out] | output | the convolved image |
Definition at line 149 of file gaussian.h.
References pcl::PointCloud< PointT >::height, and pcl::PointCloud< PointT >::width.
|
inline |
Convolve a float image in the 2 directions.
[in] | input | image to convolve |
[in] | field_accessor | a field accessor |
[in] | horiz_kernel | kernel for convolving rows |
[in] | vert_kernel | kernel for convolving columns |
[out] | output | the convolved image |
Definition at line 171 of file gaussian.h.
References pcl::PointCloud< PointT >::height, and pcl::PointCloud< PointT >::width.
void pcl::GaussianKernel::convolveCols | ( | const pcl::PointCloud< float > & | input, |
const Eigen::VectorXf & | kernel, | ||
pcl::PointCloud< float > & | output | ||
) | const |
Convolve a float image columns by a given kernel.
[in] | input | the image to convolve |
[in] | kernel | convolution kernel |
[out] | output | the convolved image |
void pcl::GaussianKernel::convolveCols | ( | const pcl::PointCloud< PointT > & | input, |
std::function< float(const PointT &p)> | field_accessor, | ||
const Eigen::VectorXf & | kernel, | ||
pcl::PointCloud< float > & | output | ||
) | const |
Convolve a float image columns by a given kernel.
[in] | input | the image to convolve |
[in] | field_accessor | a field accessor |
[in] | kernel | convolution kernel |
[out] | output | the convolved image |
Definition at line 82 of file gaussian.hpp.
References pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::resize(), and pcl::PointCloud< PointT >::width.
void pcl::GaussianKernel::convolveRows | ( | const pcl::PointCloud< float > & | input, |
const Eigen::VectorXf & | kernel, | ||
pcl::PointCloud< float > & | output | ||
) | const |
Convolve a float image rows by a given kernel.
[in] | kernel | convolution kernel |
[in] | input | the image to convolve |
[out] | output | the convolved image |
void pcl::GaussianKernel::convolveRows | ( | const pcl::PointCloud< PointT > & | input, |
std::function< float(const PointT &p)> | field_accessor, | ||
const Eigen::VectorXf & | kernel, | ||
pcl::PointCloud< float > & | output | ||
) | const |
Convolve a float image rows by a given kernel.
[in] | input | the image to convolve |
[in] | field_accessor | a field accessor |
[in] | kernel | convolution kernel |
[out] | output | the convolved image |
Definition at line 49 of file gaussian.hpp.
References pcl::PointCloud< PointT >::height, pcl::PointCloud< PointT >::resize(), and pcl::PointCloud< PointT >::width.
|
inline |
Smooth image using a gaussian kernel.
[in] | input | image |
[in] | gaussian_kernel | the gaussian kernel to be used |
[out] | output | the smoothed image |
Definition at line 236 of file gaussian.h.
|
inline |
Smooth image using a gaussian kernel.
[in] | input | image |
[in] | field_accessor | a field accessor |
[in] | gaussian_kernel | the gaussian kernel to be used |
[out] | output | the smoothed image |
Definition at line 252 of file gaussian.h.
|
static |
Definition at line 61 of file gaussian.h.