|
Point Cloud Library (PCL)
1.15.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.