基于OpenCV(C++)实现的RANSAC随机抽样一致性的曲线拟合(二次)

时间:2022-05-20 01:24:49

 0 前言

 

 前不久整理了RANSAC直线拟合的文章:

基于OpenCV实现的RANSAC随机抽样一致性直线拟合_thequitesunshine007的博客-CSDN博客

这篇文章与其类似,只是从拟合直线变为拟合曲线(二次) 。有时候只懂得拟合直线可能是不够的,甚至只拟合二次曲线都不一定能满足实际需求。但好在我们可以触类旁通,举一反三。

对于学习算法的人,最重要的就是理解它的思想,久而久之形成自己的思想体系,以后遇到问题的时候就能在脑子里闪现出方案。活学活用四个字很简单,但做起来却是很难很难,跟做人一样,活到老学到老。

1 (二次)曲线RANSAC拟合的基本原理

 简要步骤:

1.设定最大迭代次数iterations_cnt;

2.设定内点阈值T,当某点距离当前拟合目标曲线的距离小于T时,则认为是内点。

3,在样本点中随机取出3个点(一元二次方程有三个未知数,所以要取三个点才能有合理的代数解)。基于OpenCV(C++)实现的RANSAC随机抽样一致性的曲线拟合(二次);

4,根据取出的3个点,