Point Cloud Library (PCL)
1.9.1
|
40 #ifndef PCL_FILTERS_CONVOLUTION_H_
41 #define PCL_FILTERS_CONVOLUTION_H_
43 #include <pcl/common/eigen.h>
44 #include <pcl/common/point_operators.h>
45 #include <pcl/point_cloud.h>
46 #include <pcl/exceptions.h>
47 #include <pcl/pcl_base.h>
76 template <
typename Po
intIn,
typename Po
intOut>
84 typedef boost::shared_ptr< Convolution<PointIn, PointOut> >
Ptr;
85 typedef boost::shared_ptr< const Convolution<PointIn, PointOut> >
ConstPtr;
195 convolveOneRowDense (
int i,
int j);
200 convolveOneColDense (
int i,
int j);
205 convolveOneRowNonDense (
int i,
int j);
210 convolveOneColNonDense (
int i,
int j);
215 float distance_threshold_;
219 Eigen::ArrayXf kernel_;
231 p.x = p.y = p.z = std::numeric_limits<float>::quiet_NaN ();
237 #include <pcl/filters/impl/convolution.hpp>
@ BORDERS_POLICY_DUPLICATE
void convolveCols(PointCloudOut &output)
Convolve a float image columns by a given kernel.
This file defines compatibility wrappers for low level I/O functions.
boost::shared_ptr< PointCloud< PointT > > Ptr
void convolve(const Eigen::ArrayXf &h_kernel, const Eigen::ArrayXf &v_kernel, PointCloudOut &output)
Convolve point cloud with an horizontal kernel along rows then vertical kernel along columns : convol...
~Convolution()
Empty destructor.
void convolve_cols(PointCloudOut &output)
convolve cols and ignore borders
pcl::PointCloud< PointIn > PointCloudIn
void convolve_rows_mirror(PointCloudOut &output)
convolve rows and mirror borders
PointCloudIn::ConstPtr PointCloudInConstPtr
PointCloud represents the base class in PCL for storing collections of 3D points.
void setInputCloud(const PointCloudInConstPtr &cloud)
Provide a pointer to the input dataset.
void initCompute(PointCloudOut &output)
init compute is an internal method called before computation
Convolution is a mathematical operation on two functions f and g, producing a third function that is ...
void convolve_rows(PointCloudOut &output)
convolve rows and ignore borders
void makeInfinite(PointOut &p)
void setDistanceThreshold(const float &threshold)
void setBordersPolicy(int policy)
Set the borders policy.
boost::shared_ptr< const Convolution< PointIn, PointOut > > ConstPtr
BORDERS_POLICY
The borders policy available.
Convolution()
Constructor.
void convolve_cols_mirror(PointCloudOut &output)
convolve cols and mirror borders
void convolve_rows_duplicate(PointCloudOut &output)
convolve rows and duplicate borders
void convolveRows(PointCloudOut &output)
Convolve a float image rows by a given kernel.
int getBordersPolicy()
Get the borders policy.
void setNumberOfThreads(unsigned int nr_threads=0)
Initialize the scheduler and set the number of threads to use.
boost::shared_ptr< const PointCloud< PointT > > ConstPtr
pcl::PointCloud< PointOut > PointCloudOut
void convolve_cols_duplicate(PointCloudOut &output)
convolve cols and duplicate borders
PointCloudIn::Ptr PointCloudInPtr
void setKernel(const Eigen::ArrayXf &kernel)
Set convolving kernel.
boost::shared_ptr< Convolution< PointIn, PointOut > > Ptr
unsigned int threads_
The number of threads the scheduler should use.
const float & getDistanceThreshold() const