博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RANSAC和Flitline
阅读量:7088 次
发布时间:2019-06-28

本文共 748 字,大约阅读时间需要 2 分钟。

【blog算法原理】RANSAC和FitLine

     ​ 如果已经有一系列图片,需要拟合出最为合适的一条直线出来,这个时候你会选择RANSAC还是FitLine。

一、算法定义;

 RANSAC是实际运用非常广泛的算法,它的数学表示为

"Ransac 是解决这类问题的代表性算法。它是一种随机算法,步骤如下:

输入:k,n,t,d,model,data

BestModel = null;
迭代k次——
(1) 从data中随机取出n个点,用这n个点去拟合model和模型的model,将得到的带参数的model记为MaybeBestModel。
(2) 依次取出剩下的点,计算该点对应MaybeBestModel模型的误差,如果这个误差小于阈值t,则认为这个点是有效的,把这个点也放进MaybeBestModel中。
(3) 所有点取完了。这时,MaybeBestModel中有效点的数量是否大于或等于d,如果是,则对于MaybeBestModel,重新计算一下它的模型参数。

(4) 评估一下MaybeBestModel和BestModel哪一个好?如果MaybeBestModel更好,则将MaybeBestModel 记做新的 BestModel。"

       而FitLine的官方定义为:

基本上的思路还是生成直线之后,遍历所有的点,并且采用不同的方法计算结果:

二、运用场合

     在opencv中,已经实现了FitLine的算法;但是关于RANSAC还自己编写一些程序。除此之外,我认为,RANSAC的最总要特征在于“它假设了一个模型”,如果我已经知道模型就是直线,那么使用FitLine会更直接。

      特别是在一些计算量不是非常大的情况下,综合考虑所有的点之间的关系肯定随机取出一些点然后判断的结果要好一些。

转载地址:http://tryql.baihongyu.com/

你可能感兴趣的文章
Confluence 6 数据库整合的限制
查看>>
scala 与 java泛型数组
查看>>
哈佛团队开发出使用声波来辅助粘性液体的3D打印技术
查看>>
leaflet实用插件整理
查看>>
vue基础
查看>>
Eclipse中安装MemoryAnalyzer插件及使用
查看>>
GEF入门实例_总结_02_新建初始RCP空项目
查看>>
用js来实现那些数据结构04(栈01-栈的实现)
查看>>
你的api加锁了吗?
查看>>
.NET快速信息化系统开发框架 V3.2-Web版本“产品管理”事例编辑界面新增KindEditor复文本编辑控件...
查看>>
浅谈直播行业发展前景和发展方向
查看>>
2- OpenCV+TensorFlow 入门人工智能图像处理-opencv入门
查看>>
Flink1.4 窗口触发器与Evictors
查看>>
几个与文本处理相关的Linux命令总结
查看>>
django模板详解(二)
查看>>
ASM概述
查看>>
手动删除数据库 oracle
查看>>
浅析ConcurrentHashMap
查看>>
html中header结构详解
查看>>
日常使用
查看>>