Open3D 使用RANSAC分割平面

目录

1,概述

2,拟合平面

3,实现过程

4,主要函数:

def segment_plane(self, distance_threshold, ransac_n, num_iterations):'''

5,代码实现

6,结果展示


1,概述


随机抽样一致性算法QRANSAC(Random sample consensus)是一种迭代的方法来从一系列包含有离异值的数据中计算数学模型参数的方法。
RANSAC算法本质上由两步组成,不断进行循环:
(1)从输入数据中随机选出能组成数学模型的最小数目的元素,使用这些元素计算出相应模型的参数。选出的这些元素数目是能决定模型参数的最少的。
(2)检查所有数据中有哪些元素能符合第一步得到的模型。超过错误阈值的元素认为是离群值(outlier)小于错误阈值的元素认为是内部点( inlier)。
这个过程重复多次,选出包含点最多的模型即得到最后的结果。

2,拟合平面


 RANSAC具体到空间点云中拟合平面:
 1、从点云中随机选取三个点。
2、由这三个点组成一个平面。
3、计算所有其他点到该平面的距离,如果小于阈值T,就认为是处在同一个平面的点。
4、如果处在同一个平面的点超过n个,就保存下这个平面,并将处在这个平面上的点都标记为已匹配。

5、终止的条件是迭代N次后找到的平面小于n个点,或者找不到三个未标记的点。

你可能感兴趣的:(单目+双目,计算机视觉)