《机器视觉算法与应用》第3章 机器视觉算法之几何基元的分割和拟合——学习笔记

文章目录

    • 3.8 几何基元的分割和拟合
      • 3.8.1 直线拟合
      • 3.8.2 圆拟合
      • 3.8.3 椭圆拟合
      • 3.8.4 将轮廓分割为直线、圆和椭圆

3.8 几何基元的分割和拟合

本节我们将讨论将轮廓数据拟合成几何基元的方法。我们仅讨论最相关的几种几何基元:直线、圆和椭圆。 此外, 我们还将分析如何将轮廓自动分割成多个部分,每部分都有相对应的几何基元。这能让我们充分地减小需要被处理的数据量,并给我们提供一种数据的符号化描述方式。

3.8.1 直线拟合

在进行直线拟合前必须首先考虑直线的表示方法。在图像中,直线可以出现在任何方位。因此,我们不得不使用一种可以描述所有直线的表示方法。例如,通常的表示法ν=mx+b不能满足要求。可用的一种表示法是直线的黑塞范式,表示为:
在这里插入图片描述
通过将边缘上的点的坐标代入到直线方程(3.100)中,我们可以很容易的计算出边缘上的点到直线的距离。因此,通过对距离进行阔值分割,可以很容易的检测到凸起。
《机器视觉算法与应用》第3章 机器视觉算法之几何基元的分割和拟合——学习笔记_第1张图片
《机器视觉算法与应用》第3章 机器视觉算法之几何基元的分割和拟合——学习笔记_第2张图片

3.8.2 圆拟合

将轮廓拟合成圆或圆弧采用的是与直线拟合一样的想法:我们想先将轮廓上的所有点到拟合圆的平方距离进行连加求和, 然后使求得的总和最小化。

《机器视觉算法与应用》第3章 机器视觉算法之几何基元的分割和拟合——学习笔记_第3张图片
与最小平方直线拟合类似,最小平方圆拟合对于离群值也是不够鲁棒的。为了使圆拟合更加鲁棒,我们能用与直线拟合中一致的方法来处理:引人权重并使用它来减小离群值的影响。这也要求我们先采用正常的最小平方 拟合得到一个圆,然后用各轮廓点到此圆的距离来计算在后续的迭代中将使用的各点所对应的权重。因为大的离群值可能会阻碍此算法最终收敛为正确的解,所以在极端情况下可能需要RANSAC算法。
《机器视觉算法与应用》第3章 机器视觉算法之几何基元的分割和拟合——学习笔记_第4张图片

3.8.3 椭圆拟合

为了将椭圆拟合到轮廓上, 我们将使用与直线拟合和圆拟合同样的原理:将轮廓点到此椭圆的距离最小化。

椭圆拟合在摄像机标定中非常有用,因为标定板上经常使用圆形标记点。由于圆形会投射成椭圆,所以拟合椭圆到图像中的标记点边缘上自然成为了标定过程的第一步。
《机器视觉算法与应用》第3章 机器视觉算法之几何基元的分割和拟合——学习笔记_第5张图片
在本节结束部分我们应注意,只将代表一部分椭圆的轮廓拟合成椭圆时, 在上节中讨论拟合圆弧时做出的结论仍然适用:弧所包含角度越小,拟合得到参数的准确度越差。产生此现象的原因来自于拟合问题的几何学方面, 而非源于我们使用的拟合算法。

3.8.4 将轮廓分割为直线、圆和椭圆

到目前为止,我们都假设进行几何基元拟合的轮廓各自对应的几何基元类型都是正确的,比如将直线拟合到 一个线段上。当然,某一轮廓可能对应多种不同类型的基元。所以,本节中我们将讨论如何将轮廓分割成不同的基元。
《机器视觉算法与应用》第3章 机器视觉算法之几何基元的分割和拟合——学习笔记_第6张图片
《机器视觉算法与应用》第3章 机器视觉算法之几何基元的分割和拟合——学习笔记_第7张图片

你可能感兴趣的:(#,0.4,机器视觉)