20200918:最近骨折了,很烦。蹦蹦跳跳的,膝盖疼。
一、RANSAC(Random Sample Consensus)
https://baike.baidu.com/item/ransac/10993469?fr=aladdin
(省的某些人嫌弃我不讲原理)
二、代码
分享给有需要的人,代码质量勿喷。
//Open3D
#include "Open3D/Open3D.h"
//Eigen
#include "Eigen/Dense"
/* RANSAC平面分割 */
void testOpen3D::pcPlaneRANSAC(const QString &pcPath)
{
int width = 700, height = 500;
auto cloud_ptr = std::make_shared<open3d::geometry::PointCloud>();
if (!open3d::io::ReadPointCloud(pcPath.toStdString(), *cloud_ptr)) { return; }
open3d::visualization::DrawGeometries({ cloud_ptr }, "Point Cloud 1", width, height);
/***** 距离阈值,平面最小点数,最大迭代次数。返回平面参数和内点 *****/
double tDis = 0.05;
int minNum = 3;
int numIter = 100;
std::tuple<Eigen::Vector4d, std::vector<size_t>

本文详细介绍了一种基于RANSAC算法的平面分割方法,并提供了使用Open3D库实现的具体代码示例。通过调整距离阈值、平面最小点数及最大迭代次数,成功将点云数据分为平面内点和外点,最后以可视化方式展示分割效果。
7158

被折叠的 条评论
为什么被折叠?



