27#ifndef EASY3D_ALGO_POINT_CLOUD_RANSAC_H
28#define EASY3D_ALGO_POINT_CLOUD_RANSAC_H
31#include <easy3d/core/types.h>
87 unsigned int min_support = 1000,
88 float dist_threshold = 0.005f,
89 float bitmap_resolution = 0.02f,
90 float normal_threshold = 0.8f,
91 float overlook_probability = 0.001f
112 const std::vector<int> &vertices,
113 unsigned int min_support = 1000,
114 float dist_threshold = 0.005f,
115 float bitmap_resolution = 0.02f,
116 float normal_threshold = 0.8f,
117 float overlook_probability = 0.001f
126 std::vector<int> vertices;
131 const std::vector<PlanePrim>& get_planes()
const {
return plane_primitives_; }
135 std::vector<int> vertices;
140 const std::vector<CylinderPrim>& get_cylinders()
const {
return cylinder_primitives_; }
143 std::set<PrimType> types_;
145 std::vector<PlanePrim> plane_primitives_;
146 std::vector<CylinderPrim> cylinder_primitives_;
A data structure for point clouds.
Definition: point_cloud.h:45
Extract primitives from point clouds using RANSAC.Usage example:
Definition: point_cloud_ransac.h:48
int detect(PointCloud *cloud, unsigned int min_support=1000, float dist_threshold=0.005f, float bitmap_resolution=0.02f, float normal_threshold=0.8f, float overlook_probability=0.001f)
Extract primitives from a point cloud.
Definition: point_cloud_ransac.cpp:242
void add_primitive_type(PrimType t)
Setup the primitive types to be extracted.
Definition: point_cloud_ransac.cpp:232
void remove_primitive_type(PrimType t)
Exclude a primitive types to be extracted.
Definition: point_cloud_ransac.cpp:237
Definition: collider.cpp:182
Definition: point_cloud_ransac.h:133
Definition: point_cloud_ransac.h:124