数字图像中的Hough变换应用--直线检测

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

摘要

为能够有效解决实时直线图形提取问题,提出了一种基于Hough变换(HT)的直线提取算法。它所实现的是一种从图像空间到参数空间的映射关系。由于具有一些明显优点和可贵性质,它引起了许多国内外学者和工程技术人员的普遍关注。由于其根据局部度量来计算全面描述参数,因而对于区域边界被噪声干扰或被其他目标遮盖而引起边界发生某些间断的情况,具有很好的容错性和鲁棒性。多年来,专家们对Hough变换的理论性质和应用方法进行了深入而广泛的研究,目前应用于生物医学、自动化和机器人视觉、空间技术和军事防御、办公自动化等各个方面。

本次课称设计首先分析了数字图像中直线边缘的三种结构特征,提出采用基元结构表示目标边缘点,并在约束条件下计算基元结构的基元倾角。在此基础上,结合传统的HT的思想对基元结构进行极角约束HT,以获得最终的直线参数。最后,再用MATLAB软件对该算法进行编程仿真。实验结果表明,对合成图像和自然图像,该算法能够有效的识别图像中的直线段。

关键词:直线提取;Hough变换;MATLAB

目录

1. 课程设计的目的 (1)

2. MATLAB简介及应用 (1)

2.1 MATLAB简介 (1)

2.2 MATLAB应用 (1)

2.3 MATLAB特点 (2)

3. Hough变换原理 (2)

3.1 Hough变换的基本原理 (2)

3.2 Hough变换的不足之处 (4)

3.3 Hough变换的应用 (4)

4. Hough变换检测直线设计 (5)

4.1 Hough变换检测直线基本原理 (5)

4.2 Hough变换的几种基本算法 (6)

4.3 Hough变换算法的比较与选择 (7)

4.4 Hough变换检测直线的算法流程图 (9)

4.5 Hough变换检测直线算法的实现 (9)

5. 仿真结果及分析 (11)

5.1 仿真结果 (11)

5.2 结果分析 (14)

结论 (15)

参考文献 (16)

数字图像中的Hough变换应用

——直线的检测

1.课程设计的目的

本次课程设计的目的在于提高发现问题、分析问题、解决问题的能力,进一步巩固数字图像处理系统中的基本原理与方法。熟悉掌握一门计算机语言,可以进行数字图像的应用处理的开发设计。综合运用MATLAB软件实现图像高通滤波程序设计最终达到以下目的:

1)通过课程设计把自己在大学中所学的知识应用到实践当中。

2)深入了解利用Matlab设计FIR数字滤波器的基本方法。

3)在课程设计的过程中掌握程序编译及软件设计的基本方法。

4)提高自己对于新知识的学习能力及进行实际操作的能力。

锻炼自己通过网络及各种资料解决实际问题的能力。

2.MATLAB简介及应用

2.1MATLAB简介

MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

MATLAB是矩阵实验室(Matrix Laboratory)的简称,和Mathematica、Maple 并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

2.2MATLAB应用

MATLAB 产品族可以用来进行以下各种工作:

1)数值分析

2)数值和符号计算

3)工程与科学绘图

4)控制系统的设计与仿真

5)数字图像处理技术

6)数字信号处理技术

7)通讯系统设计与仿真

8)财务与金融工程

MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用 MATLAB 函数集)扩展了 MATLAB 环境,以解决这些应用领域内特定类型的问题。

2.3MATLAB特点

此高级语言可用于技术计算

1)此开发环境可对代码、文件和数据进行管理

2)交互式工具可以按迭代的方式探查、设计及求解问题

3)数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数值积

分等

4)二维和三维图形函数可用于可视化数据

5)各种工具可用于构建自定义的图形用户界面

6)各种函数可将基于MATLAB的算法与外部应用程序和语言(如 C、C++、

Fortran、Java、COM 以及 Microsoft Excel)集成

7)不支持大写输入,内核仅仅支持小写。

3.Hough变换原理

3.1Hough变换的基本原理

Hough变换是一种使用表决原理的参数估计技术。其原理是利用图像空间和

Hough参数空间的点-线对偶性,把图像空间中的检测问题转换到参数空间。通过在参数空间里进行简单的累加统计,然后在Hough参数空间寻找累加器峰值的方法检测直线。Hough变换的实质是将图像空间内具有一定关系的像元进行聚类,寻找能把这些像元用某一解析形式联系起来的参数空间累积对应点。在参数空间不超过二维的情况下,这种变换有着理想的效果。

Hough变换的实质是将图像空间内具有一定关系的像元进行聚类,寻找能把这些像元用某一解析形式联系起来的参数空间累积对应点。在参数空间不超过二维的情况下,这种变换有着理想的效果。但是,一旦参数空间增大,计算量便会急剧上升,同时耗费巨大的存储空间,耗时也随之猛增。就此,多年来国内外众多学者针对具体情况对常规Hough变换进行了多方面的探索,并提出了许多有价值的改进方法:

1)扩展应用范围,提出多种参数化的方法

在早期的研究中,Hough变换由只检测图像中的直线扩展到检测圆弧、二次曲线和任意曲线构成的形状;线条的参数化方法也由最初的截距型参数发展到斜率倾角和截距型参数、双Hough空间型参数、以及检测圆的圆心坐标、半径型参数和检测物体复杂形状的基于模板的多维关键点参数等。

2)提高实用性,提出多种减少计算量的算法

针对Hough变换计算量大的不足,相继提出了四分树结构的Hough变换、以梯度信息为引导的Hough变换、分层Hough变换、自适应Hough变换、快速自适应Hough变换、随机Hough变换(RHT)等;对于高维Hough变换采用降维处理,数据结构多采用动态量化空间等。

3)增强抗干扰能力,提高检测精度

Hough变换提取精度问题始终受到普遍关注,例如Hough变换的离散化误差、混叠干扰、抗噪声干扰性能等。就此类问题的研究例如,Kiryati、Buckstein提出采用最佳Kaider窗函数对参数域进行平滑滤波以减少混叠误差;Hunt、Nolte 等人应用信号检测理论对Hough变换的抗干扰性能和基于最大后验概率的最佳算法进行了抗干扰性能比较,并指出了影响Hough变换抗干扰性能的原因。4)多种峰值检测方法

Hough变换中参数空间的峰值检测是一个聚类检测问题,阈值的选取是成功与否的关键所在。其中,一种方法是对图像空间进行加权,以改变参数空间的峰值分布;一种方法是直接对参数空间进行极大值的搜索。

相关文档
最新文档