概率霍夫变换(Progressive Probabilistic Hough Transform)原理详解
概率霍夫变换(Progressive Probabilistic Hough Transform)的原理很简单,如下所述:
1.随机获取边缘图像上的前景点,映射到极坐标系画曲线;
2.当极坐标系里面有交点达到最小投票数,将该点对应x-y坐标系的直线L找出来;
3.搜索边缘图像上前景点,在直线L上的点(且点与点之间距离小于maxLineGap的)连成线段,然后这些点全部删除,并且记录该线段的参数(起始点和终止点),当然线段长度要满足最小长度;
4.重复1. 2. 3.。
In "A real-time lane marking localization, tracking and communication system":
Hough transform (HT) was proposed in [30] and is usually used to detect lines and circles; it has been used as the core method of lane marking detection in [3] and [31]. The core formula of HT is:
λ=xcos(θ)+ysin(θ)
λ is the length between the origin and the pedal of detected line and θ is the angle of its perpendicular line.
In [32], Matas et al. proposed the PPHT, which has been commonly accepted as one of the best line detection methods based on Hought transform theory. The algorithm PPHT proceeds as follows:
Randomly, select a new point for voting in the accumulator array, with contributions to all available bins (as referenced in [32], bin stands for a pair of (λ, θ)). Then remove the selected pixel from the input image.
Check if the highest peak (the pair of (λ, θ) with the most voting points) in the updated accumulator is greater than a pre-defined threshold th(N). If not then go to Step 1.
Find all lines with the parameter (λ, θ) which was specified by the peak in Step 2. Choose the longest segment (which can be denoted by starting point Pt0 and ending point Pt1) of all lines.
Remove all the points of the longest line from the input image.
Remove all the points of the selected line in Step 3 (Pt0−Pt1) from the accumulator, which means those points do not attend any other voting process.
If the selected segment is longer than a pre-defined minimum length, then take the segment (Pt0−Pt1) as one of the output results.
Go to Step 1.
References:
[3] D.O. Cualain, C. Hughes, M. Glavin, E. Jones. Automotive standards-grade lane departure warning system. IET Intell. Transp. Syst., 6 (1) (2012), pp. 44–57
[30] P.V.C. Hough, A method and means for recognizing complex patterns, US Patent: 3,069,654 (1962).
[31] K. Zu. Realtime lane tracking of curved local road. Proceedings of the IEEE Intelligent Transportation Systems (2006), pp. 1149–1155
[32] J. Matas, C. Galambos, J. Kittler. Robust detection of lines using the progressive probabilistic hough transform. Comput. Vision Image Underst., 78 (1) (2000), pp. 119–137
概率霍夫变换(Progressive Probabilistic Hough Transform)原理详解的更多相关文章
- 【动画消消乐】HTML+CSS 自定义加载动画:清新折叠方块效果 063(附源码及原理详解)
前言 Hello!小伙伴! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出- 自我介绍ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计算机专 ...
- I2C 基础原理详解
今天来学习下I2C通信~ I2C(Inter-Intergrated Circuit)指的是 IC(Intergrated Circuit)之间的(Inter) 通信方式.如上图所以有很多的周边设备都 ...
- Zigbee组网原理详解
Zigbee组网原理详解 来源:互联网 作者:佚名2015年08月13日 15:57 [导读] 组建一个完整的zigbee网状网络包括两个步骤:网络初始化.节点加入网络.其中节点加入网络又包括两个 ...
- 块级格式化上下文(block formatting context)、浮动和绝对定位的工作原理详解
CSS的可视化格式模型中具有一个非常重要地位的概念——定位方案.定位方案用以控制元素的布局,在CSS2.1中,有三种定位方案——普通流.浮动和绝对定位: 普通流:元素按照先后位置自上而下布局,inli ...
- SSL/TLS 原理详解
本文大部分整理自网络,相关文章请见文后参考. SSL/TLS作为一种互联网安全加密技术,原理较为复杂,枯燥而无味,我也是试图理解之后重新整理,尽量做到层次清晰.正文开始. 1. SSL/TLS概览 1 ...
- 锁之“轻量级锁”原理详解(Lightweight Locking)
大家知道,Java的多线程安全是基于Lock机制实现的,而Lock的性能往往不如人意. 原因是,monitorenter与monitorexit这两个控制多线程同步的bytecode原语,是JVM依赖 ...
- [转]js中几种实用的跨域方法原理详解
转自:js中几种实用的跨域方法原理详解 - 无双 - 博客园 // // 这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同 ...
- 节点地址的函数list_entry()原理详解
本节中,我们继续讲解,在linux2.4内核下,如果通过一些列函数从路径名找到目标节点. 3.3.1)接下来查看chached_lookup()的代码(namei.c) [path_walk()> ...
- WebActivator的实现原理详解
WebActivator的实现原理详解 文章内容 上篇文章,我们分析如何动态注册HttpModule的实现,本篇我们来分析一下通过上篇代码原理实现的WebActivator类库,WebActivato ...
随机推荐
- JavaScript:谈谈let和const
最近接触到ES6的一些相关新特性,想借let和const两个命令谈谈JavaScript在变量方面的改进. 由于let和const有很多相似之处,我们就先说一说let吧. 1. let添加了块级作用域 ...
- Git问题Everything up-to-date解决
Git问题Everything up-to-date解决 [自己的亲身错误体验] 我的上一篇博客,说了怎么上传一个项目到git远程上面.今天我写好一个小栗子,准备再次上传的时候.我依旧是放在我的F:\ ...
- 哪个中年IT男不是一边面对危机,一边咬牙硬抗
本文转自:https://www.cnblogs.com/gossip/p/8297294.html 对于 2017 年年末那则令人哀伤的消息,相信很多同龄人都会触目伤怀.面对公司的强制性劝退,深圳中 ...
- ALSA学习资料
一.内核文档 Linux Sound Subsystem Documentation 二.一些API 1.snd_pcm_period_elapsed 2.snd_pcm_lib_buffer_by ...
- iOS 6 新的快捷初始化写法
转:http://www.2cto.com/kf/201408/328974.html 下列简化写法是IOS6.0以后的新写法 NSNumber //简化前的写法: NSNumber *value1; ...
- C# 2015关键字
关键字是对编译器具有特殊意义的预定义保留标识符. 它们不能在程序中用作标识符,除非它们有一个 @ 前缀. 例如,@if 是有效的标识符,但if 不是,因为 if 是关键字. 本主题中的第一个表列出的关 ...
- VMWare Station 问题汇总
1.开机黑屏,不启动系统 解决方法: 命令行窗口cmd—输入下面代码,然后重启计算机. netsh winsock reset 2.提示磁盘被锁无法打开 解决方法: 虚拟机目录下面的.lck文件都删了
- 全排列(Perm)的递归实现算法
https://blog.csdn.net/zhi_jin/article/details/69267230 什么是全排列] 从n个不同元素中任取m(m≤n)个元素,按照一定的顺序排列起来,叫做从n个 ...
- 【Mac使用系列】Mac锁屏及快捷键
mac锁屏办法,我有所尝试,可用系统自带锁屏快捷键:Ctrl + Command + Q或者参考方法2,直接设置TouchBar. 这两种办法,亲测可用.我直接设置了TouchBar,锁屏解锁离得很近 ...
- PRTG参考价格
2010年的香港的网站上看到如下价格:http://kb.option-hk.com/?tag=prtg-network-monitor 什么才算一个sensor What counts as a s ...