直线段检测法(LSD)

直线段检测法(LSD)直线段检测法(LSD)1简介2算法介绍3.算法简述感谢观看:)本文仅用于个人学习/复习1简介LSD是一种线段检测算法,该方法号称是能在线性时间(linear-time)内得到亚像素级准确度的直线段检测算法。LSD的目标在于检测图像中局部的直的轮廓,这也是我们称之为直线分割的原因。2算法介绍LSD直线检测方法首先计算每个像素点的水平线(level-Line)角度,从而形成了一个水平线场,即单位矢量场,这里像素点的水平线角度就是该点梯度方向的垂直角度,如下图所示,而水平线场就是一个与图像中的点一一对应

大家好,又见面了,我是你们的朋友全栈君。

1简介

LSD是一种线段检测算法,该方法号称是能在线性时间(linear-time)内得到亚像素级准确度的直线段检测算法。LSD的目标在于检测图像中局部的直的轮廓,这也是我们称之为直线分割的原因。

2算法介绍

LSD直线检测方法首先计算每个像素点的水平线(level-Line)角度,从而形成了一个水平线场,即单位矢量场,这里像素点的水平线角度就是该点梯度方向的垂直角度,如下图所示,而水平线场就是一个与图像中的点一一对应的矩阵,矩阵中元素的值即为对应到图像中点的水平线角度。

在这里插入图片描述
算法首先计算每个像素的水平线角度,以构成一个水平线场。该场被分割为连通的若干个部分,它们方向近似相同并且在容忍度τ内,这样可以得到一系列区域,这些区域被称为 line support regions(支持域)。如下图所示:

在这里插入图片描述如图绿色、蓝色、橙色区域各是一个线支持区域。

每一个line support region(支持域)其实就是一组像素,它也是直线段(line segment)的候选。同时,对于这个line support region(支持域),我们可以观察它的最小外接矩形。直观上来讲,当一组像素构成的区域,特别细长时,那么这组像素更加可能是直线段。line support region(支持域)的一个主惯性轴作为矩形的主方向,矩形的大小选择为覆盖整个区域。

在这里插入图片描述
矩形中的像素的level-line angle(水平线角度)与最小外接矩形的主方向的角度差在容忍(tolerance)τ内的话,那么这个点被称作”aligned point”(同性点或者是对齐点)。

通过统计最小外接矩形内的所有像素数n和其内的alinedg points个数k,用来判定这个line support region是否是一个直线段。

在这里插入图片描述

矩形的验证方法是基于Desolneux, Moisan, and Morel提出的contrario方法和Helmholtz法则,所谓的亥姆霍兹原理指出,不应在噪声图像上产生感知(或检测),因此,相反的方法提出定义噪声或相反的模型H0,其中不存在期望的结构。在含有线段的情况下,我们对对齐点的数量感兴趣,因此考虑噪声模型中的虚警线段具有与所观测的真实线段一样多或更多对齐点的事件。给定图像i和矩形r,定义 k(r,i) 表示矩形r中对齐点的数量,n(r )表示矩形 r中像素点的总数,这样上述事件发生的次数即为:

在这里插入图片描述也就是说这种事件发生即表示产生一个直线段检测的虚警。其中Ntest表示被考虑到的矩形总数,PH0表示一个矩形对应的噪声模型中对齐点数量不小于实际模型中对齐点数量的概率。I是模型H0对应的噪声图像,即为一个各个元素独立同分布的的矩阵,其尺寸与真实图像i一致,每一个元素是在 [0,2π ]上服从均匀分布的独立随机变量。

任意一个像素点属于对齐点的概率为P:

在这里插入图片描述于是矩形对应的噪声模型中对其点数量不小于实际模型中对齐点数量的概率为:

在这里插入图片描述
设图像的尺寸为M×N,矩形的宽度最大为(MN)1/2,因此所有可能的矩形个数为(NM)5/2,考虑到后续对于P值还有其他的测试值而不仅仅是τ/π,设为γ个,因此测试矩形总数Ntest为:

在这里插入图片描述最后定义虚警的个数(the Number of False Alarms)为
在这里插入图片描述设置一个阈值ε,若NFA(r,i)≤ε,那么就可以将其保留为一个直线段的检测结果。

3.算法简述

整体算法的过程图如图所示:

在这里插入图片描述

4.应用示例

在这里插入图片描述
在这里插入图片描述

感谢观看 ?

本文仅用于个人学习/复习用途

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/132355.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 第二届全国大学生网络安全精英赛初赛错题笔记

    第二届全国大学生网络安全精英赛初赛错题笔记(一)1.通信保密阶段主要威胁:搭线窃听和密码分析主要措施:数据加密保护机密性和完整性开始标志:香农的《保密系统的信息理论》2.信息安全的阶段四个阶段:通信安全、计算机安全、信息安全、信息保障3.信息系统安全保障蕴含:生命周期、保障要素、安全特征4.完整性:确保信息在存储、使用、传输的过程中不会被非授权按用户篡改,同时还要防止授权用户对信息进行不恰当篡改,保持信息内外部表示的一致性国际标准化组织:IOS/OSI提供了五种安全服务:以及八类安全机制。五类安全服务:认证(鉴别)服

    2022年5月25日
    53
  • HTML学习笔记——标签

    HTML学习笔记——标签

    2022年2月23日
    36
  • wptx64能卸载吗_电脑可以卸载bonjour软件吗?详细介绍bonjour软件

    wptx64能卸载吗_电脑可以卸载bonjour软件吗?详细介绍bonjour软件细心的用户发现电脑里面忽然多了一个叫bonjour的程序,以前都没有见过的,bonjour是什么?它是苹果电脑公司在其开发的操作系统MacOSX10.2版本之后引入的服务器搜索协议所使用的一个商标名。为什么电脑会多出bonjour软件?那么bonjour软件可以卸载吗?带着一系列疑问,我们一起阅读下文教程吧。bonjour是否可以卸载bonjour软件为什么会突然出现,那是因为你在电脑上安装了…

    2022年6月7日
    117
  • keil4 进行 S3C2440裸机开发

    keil4 进行 S3C2440裸机开发用Keil-MDK开发TQ2440裸机程序入门教程——LED流水灯实现觉得此编文章很详实,故转载之,来自http://www.amobbs.com/thread-5281512-1-1.html开发板也差不多买了半年了,以前照着教程用的是软件是ADS,在win7下老是崩溃,后来才知道ADS早就不提供支持了,ADS的公司怎样怎样了…(此处省略300..)然后我就捣鼓

    2022年5月4日
    81
  • pta集合相似度_结构相似度

    pta集合相似度_结构相似度原题链接输入样例:33 99 87 1014 87 101 5 877 99 101 18 5 135 18 9921 21 3输出样例:50.00%33.33%#include<bits/stdc++.h>#define x first#define y second#define send string::nopsusing namespace std;typedef long long ll;const int N = 1e4 + 10;cons

    2022年8月8日
    2
  • IDEA优化设置

    IDEA优化设置IDEA优化设置设置Ctrl+鼠标滑轮动态放大缩小页面文字

    2022年5月21日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号