Point Cloud Library (PCL)
1.9.1
|
The pcl_surface library deals with reconstructing the original surfaces from 3D scans. Depending on the task at hand, this can be for example the hull, a mesh representation or a smoothed/resampled surface with normals.
Smoothing and resampling can be important if the cloud is noisy, or if it is composed of multiple scans that are not aligned perfectly. The complexity of the surface estimation can be adjusted, and normals can be estimated in the same step if needed.
Meshing is a general way to create a surface out of points, and currently there are two algorithms provided: a very fast triangulation of the original points, and a slower meshing that does smoothing and hole filling as well.
Creating a convex or concave hull is useful for example when there is a need for a simplified surface representation or when boundaries need to be extracted.
Please visit the tutorials on http://www.pointclouds.org for more information.
Classes | |
class | pcl::ConcaveHull< PointInT > |
ConcaveHull (alpha shapes) using libqhull library. More... | |
class | pcl::ConvexHull< PointInT > |
ConvexHull using libqhull library. More... | |
class | pcl::EarClipping |
The ear clipping triangulation algorithm. More... | |
class | pcl::GreedyProjectionTriangulation< PointInT > |
GreedyProjectionTriangulation is an implementation of a greedy triangulation algorithm for 3D points based on local 2D projections. More... | |
class | pcl::GridProjection< PointNT > |
Grid projection surface reconstruction method. More... | |
struct | pcl::GridProjection< PointNT >::Leaf |
Data leaf. More... | |
class | pcl::MarchingCubes< PointNT > |
The marching cubes surface reconstruction algorithm. More... | |
class | pcl::MarchingCubesHoppe< PointNT > |
The marching cubes surface reconstruction algorithm, using a signed distance function based on the distance from tangent planes, proposed by Hoppe et. More... | |
class | pcl::MarchingCubesRBF< PointNT > |
The marching cubes surface reconstruction algorithm, using a signed distance function based on radial basis functions. More... | |
class | pcl::MovingLeastSquares< PointInT, PointOutT > |
MovingLeastSquares represent an implementation of the MLS (Moving Least Squares) algorithm for data smoothing and improved normal estimation. More... | |
class | pcl::MovingLeastSquares< PointInT, PointOutT >::MLSVoxelGrid |
A minimalistic implementation of a voxel grid, necessary for the point cloud upsampling. More... | |
class | pcl::MovingLeastSquaresOMP< PointInT, PointOutT > |
MovingLeastSquaresOMP implementation has been merged into MovingLeastSquares for better maintainability. More... | |
class | pcl::OrganizedFastMesh< PointInT > |
Simple triangulation/surface reconstruction for organized point clouds. More... | |
class | pcl::Poisson< PointNT > |
The Poisson surface reconstruction algorithm. More... | |
class | pcl::CloudSurfaceProcessing< PointInT, PointOutT > |
CloudSurfaceProcessing represents the base class for algorithms that takes a point cloud as input and produces a new output cloud that has been modified towards a better surface representation. More... | |
class | pcl::MeshProcessing |
MeshProcessing represents the base class for mesh processing algorithms. More... | |
class | pcl::SurfaceReconstruction< PointInT > |
SurfaceReconstruction represents a base surface reconstruction class. More... | |
class | pcl::MeshConstruction< PointInT > |
MeshConstruction represents a base surface reconstruction class. More... | |
class | pcl::TextureMapping< PointInT > |
The texture mapping algorithm. More... | |
Functions | |
bool | pcl::comparePoints2D (const std::pair< int, Eigen::Vector4f > &p1, const std::pair< int, Eigen::Vector4f > &p2) |
Sort 2D points in a vector structure. More... | |
bool | pcl::isVisible (const Eigen::Vector2f &X, const Eigen::Vector2f &S1, const Eigen::Vector2f &S2, const Eigen::Vector2f &R=Eigen::Vector2f::Zero()) |
Returns if a point X is visible from point R (or the origin) when taking into account the segment between the points S1 and S2. More... | |
enum pcl::GreedyProjectionTriangulation::GP3Type |
enum pcl::OrganizedFastMesh::TriangulationType |
Enumerator | |
---|---|
TRIANGLE_RIGHT_CUT | |
TRIANGLE_LEFT_CUT | |
TRIANGLE_ADAPTIVE_CUT | |
QUAD_MESH |
Definition at line 78 of file organized_fast_mesh.h.
enum pcl::MovingLeastSquares::UpsamplingMethod |
Enumerator | |
---|---|
NONE |
No upsampling will be done, only the input points will be projected to their own MLS surfaces. |
DISTINCT_CLOUD |
Project the points of the distinct cloud to the MLS surface. |
SAMPLE_LOCAL_PLANE |
The local plane of each input point will be sampled in a circular fashion using the upsampling_radius_ and the upsampling_step_ parameters. |
RANDOM_UNIFORM_DENSITY |
The local plane of each input point will be sampled using an uniform random distribution such that the density of points is constant throughout the cloud - given by the desired_num_points_in_radius_ parameter. |
VOXEL_GRID_DILATION |
The input cloud will be inserted into a voxel grid with voxels of size voxel_size_; this voxel grid will be dilated dilation_iteration_num_ times and the resulting points will be projected to the MLS surface of the closest point in the input cloud; the result is a point cloud with filled holes and a constant point density. |
|
inline |
Sort 2D points in a vector structure.
p1 | the first point |
p2 | the second point |
Definition at line 59 of file convex_hull.h.
Referenced by pcl::ConvexHull< PointInT >::performReconstruction2D().
|
inline |
Returns if a point X is visible from point R (or the origin) when taking into account the segment between the points S1 and S2.
X | 2D coordinate of the point |
S1 | 2D coordinate of the segment's first point |
S2 | 2D coordinate of the segment's second point |
R | 2D coordinate of the reference point (defaults to 0,0) |