44#include <pcl/surface/processing.h>
62 template <
typename Po
intInT,
typename Po
intOutT>
66 using Ptr = shared_ptr<BilateralUpsampling<PointInT, PointOutT> >;
67 using ConstPtr = shared_ptr<const BilateralUpsampling<PointInT, PointOutT> >;
86 0.0f, 1050.0f, 480.0f,
126 setProjectionMatrix (
const Eigen::Matrix3f &projection_matrix) { projection_matrix_ = projection_matrix; }
129 inline Eigen::Matrix3f
145 computeDistances (Eigen::MatrixXf &val_exp_depth, Eigen::VectorXf &val_exp_rgb);
149 float sigma_color_{15.0f}, sigma_depth_{0.5f};
150 Eigen::Matrix3f projection_matrix_, unprojection_matrix_;
156#ifdef PCL_NO_PRECOMPILE
157#include <pcl/surface/impl/bilateral_upsampling.hpp>
Bilateral filtering implementation, based on the following paper:
shared_ptr< BilateralUpsampling< PointInT, PointOutT > > Ptr
float getSigmaDepth() const
Returns the current sigma depth value.
Eigen::Matrix3f KinectSXGAProjectionMatrix
void computeDistances(Eigen::MatrixXf &val_exp_depth, Eigen::VectorXf &val_exp_rgb)
Computes the distance for depth and RGB.
void setProjectionMatrix(const Eigen::Matrix3f &projection_matrix)
Method that sets the projection matrix to be used when unprojecting the points in the depth image bac...
Eigen::Matrix3f getProjectionMatrix() const
Returns the current projection matrix.
shared_ptr< const BilateralUpsampling< PointInT, PointOutT > > ConstPtr
BilateralUpsampling()
Constructor.
void process(pcl::PointCloud< PointOutT > &output) override
Method that does the actual processing on the input cloud.
float getSigmaColor() const
Returns the current sigma color value.
Eigen::Matrix3f KinectVGAProjectionMatrix
void performProcessing(pcl::PointCloud< PointOutT > &output) override
Abstract cloud processing method.
void setSigmaDepth(const float &sigma_depth)
Method that sets the sigma depth parameter.
void setWindowSize(int window_size)
Method that sets the window size for the filter.
void setSigmaColor(const float &sigma_color)
Method that sets the sigma color parameter.
int getWindowSize() const
Returns the filter window size.
CloudSurfaceProcessing represents the base class for algorithms that takes a point cloud as input and...
PointCloudConstPtr input_
The input point cloud dataset.
IndicesPtr indices_
A pointer to the vector of point indices to use.
bool initCompute()
This method should get called before starting the actual computation.
bool deinitCompute()
This method should get called after finishing the actual computation.
#define PCL_MAKE_ALIGNED_OPERATOR_NEW
Macro to signal a class requires a custom allocator.
Defines functions, macros and traits for allocating and using memory.
Defines all the PCL and non-PCL macros used.