Point Cloud Library (PCL)
1.9.1
|
41 #include <pcl/pcl_base.h>
42 #include <pcl/2d/convolution.h>
43 #include <pcl/2d/kernel.h>
47 template <
typename Po
intInT,
typename Po
intOutT>
54 PointCloudInPtr input_;
67 cannyTraceEdge (
int rowOffset,
int colOffset,
int row,
int col,
87 typedef boost::shared_ptr<Edge>
Ptr;
88 typedef boost::shared_ptr<const Edge>
ConstPtr;
116 bool non_maximal_suppression_;
117 bool hysteresis_thresholding_;
119 float hysteresis_threshold_low_;
120 float hysteresis_threshold_high_;
121 float non_max_suppression_radius_x_;
122 float non_max_suppression_radius_y_;
127 detector_kernel_type_ (
SOBEL),
128 non_maximal_suppression_ (false),
129 hysteresis_thresholding_ (false),
130 hysteresis_threshold_low_ (20),
131 hysteresis_threshold_high_ (80),
132 non_max_suppression_radius_x_ (3),
133 non_max_suppression_radius_y_ (3)
143 output_type_ = output_type;
149 hysteresis_threshold_low_ = threshold;
155 hysteresis_threshold_high_ = threshold;
237 detectEdgeLoG (
const float kernel_sigma,
const float kernel_size,
302 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
305 #include <pcl/2d/impl/edge.hpp>
307 #endif // PCL_2D_EDGE_H
This file defines compatibility wrappers for low level I/O functions.
void sobelMagnitudeDirection(const pcl::PointCloud< PointInT > &input_x, const pcl::PointCloud< PointInT > &input_y, pcl::PointCloud< PointOutT > &output)
boost::shared_ptr< PointCloud< PointInT > > Ptr
void applyFilter(pcl::PointCloud< PointOutT > &)
Override function to implement the pcl::Filter interface.
boost::shared_ptr< const Edge > ConstPtr
@ OUTPUT_MAGNITUDE_DIRECTION
void setInputCloud(PointCloudInPtr input)
Set the input point cloud pointer.
void computeDerivativeYForward(pcl::PointCloud< PointOutT > &output)
Computes the image derivatives in Y direction using the kernel kernel::derivativeYForwardKernel.
void detectEdgeRoberts(pcl::PointCloud< PointOutT > &output)
Uses the Roberts kernel for edge detection.
void canny(const pcl::PointCloud< PointInT > &input_x, const pcl::PointCloud< PointInT > &input_y, pcl::PointCloud< PointOutT > &output)
Perform Canny edge detection with two separated input images for horizontal and vertical derivatives.
void detectEdgePrewitt(pcl::PointCloud< PointOutT > &output)
Uses the Prewitt kernel for edge detection.
void setHysteresisThresholdLow(float threshold)
void computeDerivativeXForward(pcl::PointCloud< PointOutT > &output)
Computes the image derivatives in X direction using the kernel kernel::derivativeYForwardKernel.
void detectEdge(pcl::PointCloud< PointOutT > &output)
This is a convenience function which performs edge detection based on the variable detector_kernel_ty...
void computeDerivativeYBackward(pcl::PointCloud< PointOutT > &output)
Computes the image derivatives in Y direction using the kernel kernel::derivativeYBackwardKernel.
boost::shared_ptr< Edge > Ptr
void computeDerivativeXCentral(pcl::PointCloud< PointOutT > &output)
Computes the image derivatives in X direction using the kernel kernel::derivativeYCentralKernel.
void computeDerivativeYCentral(pcl::PointCloud< PointOutT > &output)
Computes the image derivatives in Y direction using the kernel kernel::derivativeYCentralKernel.
void setHysteresisThresholdHigh(float threshold)
void detectEdgeSobel(pcl::PointCloud< PointOutT > &output)
Uses the Sobel kernel for edge detection.
void detectEdgeCanny(pcl::PointCloud< PointOutT > &output)
All edges of magnitude above t_high are always classified as edges.
void setOutputType(OUTPUT_TYPE output_type)
Set the output type.
void computeDerivativeXBackward(pcl::PointCloud< PointOutT > &output)
Computes the image derivatives in X direction using the kernel kernel::derivativeXBackwardKernel.
void detectEdgeLoG(const float kernel_sigma, const float kernel_size, pcl::PointCloud< PointOutT > &output)
Uses the LoG kernel for edge detection.