概率霍夫变换(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:

  1. 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.

  2. 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.

  3. 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.

  4. Remove all the points of the longest line from the input image.

  5. 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.

  6. If the selected segment is longer than a pre-defined minimum length, then take the segment (Pt0−Pt1) as one of the output results.

  7. 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)原理详解相关推荐

  1. EMD算法之Hilbert-Huang Transform原理详解和案例分析

    目录 Hilbert-Huang Transform 希尔伯特-黄变换 Section I 人物简介 Section II Hilbert-Huang的应用领域 Section III Hilbert ...

  2. SVM分类器原理详解

    SVM分类器原理详解 标签: svm文本分类java 2015-08-21 11:51 2399人阅读 评论(0) 收藏 举报  分类: 数据挖掘 文本处理(16)  机器学习 分类算法(10)  目 ...

  3. TOPSIS(逼近理想解)算法原理详解与代码实现

    写在前面: 个人理解:针对存在多项指标,多个方案的方案评价分析方法,也就是根据已存在的一份数据,判断数据中各个方案的优劣.中心思想是首先确定各项指标的最优理想值(正理想值)和最劣理想值(负理想解),所 ...

  4. 转:word2vec 中的数学原理详解

    1,目录和前言 https://blog.csdn.net/itplus/article/details/37969519 2,预备知识:逻辑回归.贝叶斯公式.霍夫曼树 https://blog.cs ...

  5. Git 原理详解及实用指南

    Git 原理详解及实用指南 什么是版本控制系统(VCS) 很多人认为 Git 难以理解的第一个门槛在于:所谓的「Git 是一个分布式版本控制系统」这句话的具体含义不够清楚.其实分布式版本控制系统(Di ...

  6. 大数据是什么和大数据技术十大核心原理详解

     一.数据核心原理   从"流程"核心转变为"数据"核心   大数据时代,计算模式也发生了转变,从"流程"核心转变为"数据&quo ...

  7. Android面试Hash原理详解二

    Hash系列目录 Android面试Hash原理详解一 Android面试Hash原理详解二 Android面试Hash常见算法 Android面试Hash算法案例 Android面试Hash原理详解 ...

  8. 一致性哈希算法原理详解

    一.普通 hash 算法 (取模算法): 在了解一致性哈希算法之前,我们先了解一下缓存中的一个应用场景,了解了这个应用场景之后,再来理解一致性哈希算法,就容易多了,也更能体现出一致性哈希算法的优点,那 ...

  9. 卷积神经网络(CNN)详细介绍及其原理详解

    文章目录 前言 一.什么是卷积神经网络 二.输入层 三.卷积层 四.池化层 五.全连接层 六.输出层 七.回顾整个过程 总结 前言 本文总结了关于卷积神经网络(CNN)的一些基础的概念,并且对于其中的 ...

最新文章

  1. python 反爬取数据
  2. 2008.09.20三多寨
  3. 在线小词典(mysql扩展库操作)
  4. Pandas Timestamp 和 python 中 datetime 的互相转换
  5. 二叉树的层序遍历 IIPython解法
  6. javaPNS进阶-高级推送技巧
  7. 中继代理 server2008R2
  8. Mono for Android 优势与劣势
  9. Linux中文件目录写法
  10. Tableau数据可视化案例
  11. Excel Vba编程初探一
  12. crc java代码_Java ZipEntry getCrc()用法及代码示例
  13. 生产者 消费者模式
  14. C#设置点击打开外部exe程序,并判断是否程序已开启,未开启的话打开,已经在运行了就前置
  15. python调用手机摄像头识别二维码_JS调用安卓手机摄像头扫描二维码
  16. php sapi zend,108 内核探索 --php扩展、zend引擎、sapi
  17. linux系统分区支持ntfs吗,如何使Linux支持NTFS分区
  18. 【中级软考】【耦合、内聚】模块独立性衡量之内聚的七种类型(偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺序内聚、功能内聚)
  19. UE4,UE5虚幻引擎源码版下载
  20. 构建供应商管理系统,打造企业端到端的高效供应链

热门文章

  1. 第三:Pycharm中安装Python依赖包(非常详细)
  2. python bool类型如何与整数比较_Python入门必读bool类型和比较运算符
  3. js 生成二维码_Node for Max 二维码生成器
  4. java 常量池是什么_Java常量池理解与总结
  5. java题1_java面试题1
  6. 机械原理c语言程序,c语言机械原理编程,连杆运动分析图线.docx
  7. 3.1 Ext JS 组件总览
  8. [Git]4.2 标签
  9. Javascript 数组循环遍历之forEach
  10. linux挂载CentOS yum,centos7本地挂载yum仓库