42#include <pcl/common/gaussian.h>
47template <
typename Po
intT>
void
50 const Eigen::VectorXf&
kernel,
55 int radius =
kernel.size () / 2.0;
56 if(
output.height < input.height ||
output.width < input.width)
58 output.width = input.width;
59 output.height = input.height;
60 output.resize (input.height * input.width);
64 for(
int j = 0; j < input.height; j++)
66 for (i = 0 ; i < radius ; i++)
69 for ( ; i < input.width - radius ; i++) {
71 for (
int k =
kernel_width, l = i - radius; k >= 0 ; k--, l++)
75 for ( ; i < input.width ; i++)
80template <
typename Po
intT>
void
83 const Eigen::VectorXf&
kernel,
88 int radius =
kernel.size () / 2.0;
89 if(
output.height < input.height ||
output.width < input.width)
91 output.width = input.width;
92 output.height = input.height;
93 output.resize (input.height * input.width);
97 for(
int i = 0; i < input.width; i++)
99 for (j = 0 ; j < radius ; j++)
102 for ( ; j < input.height - radius ; j++) {
104 for (
int k =
kernel_width, l = j - radius ; k >= 0 ; k--, l++)
110 for ( ; j < input.height ; j++)
Iterator class for point clouds with or without given indices.
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 convolveRows(const pcl::PointCloud< float > &input, const Eigen::VectorXf &kernel, pcl::PointCloud< float > &output) const
Convolve a float image rows by a given kernel.
A point structure representing Euclidean xyz coordinates, and the RGB color.