42#include <pcl/point_cloud.h>
61 static const unsigned MAX_KERNEL_WIDTH = 71;
85 Eigen::VectorXf &derivative,
97 const Eigen::VectorXf &
kernel,
108 template <
typename Po
intT>
void
111 const Eigen::VectorXf &
kernel,
123 const Eigen::VectorXf &
kernel,
134 template <
typename Po
intT>
void
137 const Eigen::VectorXf &
kernel,
154 std::cout <<
">>> convolve cpp" << std::endl;
158 std::cout <<
"<<< convolve cpp" << std::endl;
170 template <
typename Po
intT>
inline void
177 std::cout <<
">>> convolve hpp" << std::endl;
181 std::cout <<
"<<< convolve hpp" << std::endl;
216 template <
typename Po
intT>
inline void
251 template <
typename Po
intT>
inline void
262#include <pcl/common/impl/gaussian.hpp>
Iterator class for point clouds with or without given indices.
Class GaussianKernel assembles all the method for computing, convolving, smoothing,...
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.
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.
void compute(float sigma, Eigen::VectorXf &kernel, unsigned kernel_width=MAX_KERNEL_WIDTH) const
Computes the gaussian kernel and dervative assiociated to sigma.
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.
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.
void compute(float sigma, Eigen::VectorXf &kernel, Eigen::VectorXf &derivative, unsigned kernel_width=MAX_KERNEL_WIDTH) const
Computes the gaussian kernel and dervative assiociated to sigma.
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.
void smooth(const pcl::PointCloud< float > &input, const Eigen::VectorXf &gaussian_kernel, pcl::PointCloud< float > &output) const
Smooth image using a gaussian kernel.
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.
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.
A point structure representing Euclidean xyz coordinates, and the RGB color.