40 #include <pcl/pcl_base.h>
41 #include <pcl/PointIndices.h>
56 template <
typename Po
intT,
typename Po
intLT>
68 using Ptr = shared_ptr<OrganizedEdgeBase<PointT, PointLT> >;
69 using ConstPtr = shared_ptr<const OrganizedEdgeBase<PointT, PointLT> >;
179 template <
typename Po
intT,
typename Po
intLT>
261 template <
typename Po
intT,
typename Po
intNT,
typename Po
intLT>
316 inline PointCloudNConstPtr
367 template <
typename Po
intT,
typename Po
intNT,
typename Po
intLT>
415 #ifdef PCL_NO_PRECOMPILE
416 #include <pcl/features/impl/organized_edge_detection.hpp>
void setInputNormals(const PointCloudNConstPtr &normals)
Provide a pointer to the input normals.
float getRGBCannyLowThreshold() const
Get the low threshold value for RGB Canny edge detection.
shared_ptr< PointCloud< PointT > > Ptr
void setRGBCannyLowThreshold(const float th)
Set the low threshold value for RGB Canny edge detection.
int detecting_edge_types_
The bit encoded value that represents edge types to detect.
Neighbor(int dx, int dy, int didx)
void setHCCannyHighThreshold(const float th)
Set the high threshold value for high curvature Canny edge detection.
~OrganizedEdgeFromRGBNormals() override=default
Destructor for OrganizedEdgeFromRGBNormals.
~OrganizedEdgeFromRGB() override=default
Destructor for OrganizedEdgeFromRGB.
static const int num_of_edgetype_
float th_rgb_canny_low_
The low threshold value for RGB Canny edge detection (default: 40.0)
int max_search_neighbors_
The max search distance for deciding occluding and occluded edges.
float th_hc_canny_low_
The low threshold value for high curvature Canny edge detection (default: 0.4)
OrganizedEdgeFromRGBNormals()
Constructor for OrganizedEdgeFromRGBNormals.
void setDepthDisconThreshold(const float th)
Set the tolerance in meters for the relative difference in depth values between neighboring points...
float th_hc_canny_high_
The high threshold value for high curvature Canny edge detection (default: 1.1)
~OrganizedEdgeBase() override=default
Destructor for OrganizedEdgeBase.
float getHCCannyLowThreshold() const
Get the low threshold value for high curvature Canny edge detection.
void setEdgeType(int edge_types)
Set the detecting edge types.
shared_ptr< OrganizedEdgeBase< PointT, PointLT > > Ptr
void compute(pcl::PointCloud< PointLT > &labels, std::vector< pcl::PointIndices > &label_indices) const
Perform the 3D edge detection (edges from depth discontinuities, RGB Canny edge, and high curvature r...
void compute(pcl::PointCloud< PointLT > &labels, std::vector< pcl::PointIndices > &label_indices) const
Perform the 3D edge detection (edges from depth discontinuities and RGB Canny edge) and assign point ...
typename PointCloud::Ptr PointCloudPtr
shared_ptr< const OrganizedEdgeBase< PointT, PointLT > > ConstPtr
float getHCCannyHighThreshold() const
Get the high threshold value for high curvature Canny edge detection.
float th_depth_discon_
The tolerance in meters for the relative difference in depth values between neighboring points (The d...
void extractEdges(pcl::PointCloud< PointLT > &labels) const
Perform the 3D edge detection (edges from depth discontinuities and RGB Canny edge) ...
void compute(pcl::PointCloud< PointLT > &labels, std::vector< pcl::PointIndices > &label_indices) const
Perform the 3D edge detection (edges from depth discontinuities)
PointCloud represents the base class in PCL for storing collections of 3D points. ...
int getEdgeType() const
Get the detecting edge types.
float getRGBCannyHighThreshold() const
Get the high threshold value for RGB Canny edge detection.
PointCloudNConstPtr normals_
A pointer to the input normals.
OrganizedEdgeFromNormals()
Constructor for OrganizedEdgeFromNormals.
OrganizedEdgeBase, OrganizedEdgeFromRGB, OrganizedEdgeFromNormals, and OrganizedEdgeFromRGBNormals fi...
OrganizedEdgeBase()
Constructor for OrganizedEdgeBase.
~OrganizedEdgeFromNormals() override=default
Destructor for OrganizedEdgeFromNormals.
void setRGBCannyHighThreshold(const float th)
Set the high threshold value for RGB Canny edge detection.
float getDepthDisconThreshold() const
Get the tolerance in meters for the relative difference in depth values between neighboring points...
int getMaxSearchNeighbors() const
Get the max search distance for deciding occluding and occluded edges.
shared_ptr< const PointCloud< PointT > > ConstPtr
void assignLabelIndices(pcl::PointCloud< PointLT > &labels, std::vector< pcl::PointIndices > &label_indices) const
Assign point indices for each edge label.
A point structure representing Euclidean xyz coordinates, and the RGB color.
void setHCCannyLowThreshold(const float th)
Set the low threshold value for high curvature Canny edge detection.
float th_rgb_canny_high_
The high threshold value for RGB Canny edge detection (default: 100.0)
void extractEdges(pcl::PointCloud< PointLT > &labels) const
Perform the 3D edge detection (edges from depth discontinuities and high curvature regions) ...
OrganizedEdgeFromRGB()
Constructor for OrganizedEdgeFromRGB.
void extractEdges(pcl::PointCloud< PointLT > &labels) const
Perform the 3D edge detection (edges from depth discontinuities) and assign point indices for each ed...
void compute(pcl::PointCloud< PointLT > &labels, std::vector< pcl::PointIndices > &label_indices) const
Perform the 3D edge detection (edges from depth discontinuities and high curvature regions) and assig...
typename PointCloud::ConstPtr PointCloudConstPtr
void setMaxSearchNeighbors(const int max_dist)
Set the max search distance for deciding occluding and occluded edges.
PointCloudNConstPtr getInputNormals() const
Get the input normals.