LSD算法

LSD算法是一个直线提取算法,在opencv 中也有封装,它的主要思想是通过求导得到灰度的梯度,因为灰度梯度的方向的垂直方向就是线条的方向,将有相同方向的向量用矩形圈起来,再将举行精细化,最后就可以得到的一条线段了。
关于它的文章和算法和demo基本上可以在这里找到。
这篇文章里引入了很多名词,切听我一一道来。首先,我们看下图,这里的图片首先根据梯度的垂线构造了一个level-line field,它把和梯度的垂直方向的线叫做level-line,所以这个field就是由这样的线组成的场。有了这个场,因为有直线的区域我们总能够找到,很多方向相同的level-line,这样我们就能得到右边这些颜色区域了,也就是所谓的line support region。
1355875-20181119222105925-1894594590.png
如果把这个区域用举行圈起来的话就得到了如下图所示的矩形,注意这个举行我们是区分方向的。
1355875-20181119222651093-1603514716.png
至于,是根据什么规则生成的矩形,就像之前说的,在直线的区域,自然地level-line(梯度方向的垂线)自然就会比较接近,因此,我们就给定一个阈值\(/tau\),如果这些向量的夹角小于\(/tau\)且在这个区域内满足条件的向量足够多,我们就认为这个区域可能是直线,比如下图中,就只有8个符合条件的level-line,感觉是不足够多的,因此它可能不被看作是一个直线。具体地,这里使用了区域生长算法,即从某个点开始,找其领域内符合条件的点。
1355875-20181119223933445-246426968.png
但是慢着,你可能会问,怎样才叫足够多?改天再说吧...

转载于:https://www.cnblogs.com/drunknbeard/p/9986375.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值