当前位置:文档之家› 数字图像中的Hough变换应用--直线检测

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

摘要为能够有效解决实时直线图形提取问题,提出了一种基于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变换中参数空间的峰值检测是一个聚类检测问题,阈值的选取是成功与否的关键所在。

其中,一种方法是对图像空间进行加权,以改变参数空间的峰值分布;一种方法是直接对参数空间进行极大值的搜索。

3.2Hough变换的不足之处本课题的研究内容,如上所述,常规Hough变换虽然具有显著的优势,但其不足也不容忽视,如不加改进,有时将会令人无所适从,例如检测速度太慢,无法做到实时控制;精度不够高,期望的信息检测不到反而做出错误判断,进而产生大量的冗余数据。

就圆检测而言,常规Hough变换的不足主要有以下几点:(1)参数由直线的两个参数,即截距和斜率,上升到三个,即圆心坐标和半径,每个点映射成参数空间的一个曲面,是一到多映射,因而计算量急剧增大;(2)需要占用大量内存空间,耗时久、实时性差;(3)现实中的图像一般都受到外界噪声的干扰,信噪比较低,此时常规Hough 变换的性能将急剧下降,进行参数空间极大值的搜索时由于合适的阈值难以确定,往往出现“虚峰”和“漏检”的问题。

3.3Hough变换的应用理论与实践向来是形影不离,相辅相成,Hough变换之所以有如此长足的发展,主要原因还是在于实践应用上的广泛需求;而在实践中所暴露出的不足又进而促进了它的发展,循环往复,就如同生命的演化。

现枚举其主要应用领域如下:1)生物医学: Hough变换已被成功应用于基于人工智能的专家诊断系统;X射线人体照片和CT图像的处理和判读;光学显微镜和电子显微镜中的细胞核自动分析系统;从超声波诊断中提取三维动脉特征,等等。

2)自动化和机器人视觉: Hough变换已被用于产品部件的自动监视、缺陷诊断、生产过程的自动监控、计算机辅助制造(CAM)等。

例如基于Hough变换的机械零件检测和定位系统;基于Hough变换采用直线、圆弧等作为基本特征的工业产品检查系统;3)空间技术和军事防御: Hough变换已被用于运动目标轨迹的检测与识别,高空侦察机、间谍卫星和军事雷达等目标自动识别系统的特征提取。

例如应用Hough变换对战斗机的外形特征进行提取和自动识别;应用Hough变换辅以信号检测理论解决并行多运动目标的跟踪问题。

4)办公自动化: Hough变换在许多应用系统中得到了很好的应用。

例如采用Hough变换进行英文字符特征提取并自动识别,其对印刷体字符识别率为99.6%,对手写体字符的平均识别率也达到了86.9%,并已成功应用于邮政信件的自动分拣、文件处理等。

由以上分析可见,Hough变换有着广泛的关注程度以及良好的应用前景。

在计算机视觉和自动目标识别系统中,Hough变换是一个用于边缘线条特征提取的强有力工具。

4.Hough变换检测直线设计4.1Hough变换检测直线基本原理Hough变换检测直线就是选取图像空间中一条直线L的某些特征,作为参数空间的一个点M,并且该直线L上所有点,通过某种算法,都能够对应着这些特征,从而在图像空间和参数空间之间建立起“线—点”的对偶性。

Hough变换就是根据这种对偶性,将图像空间中直线的检测问题,转化为参数空间中点的检测问题,而后者的处理比前者要简单得多,进行累加统计即可。

下图4.1给出了数字图像中三类直线的结构分布情况,图中一个小方格代表一个像素,黑方格代表边缘像素点,白方格代表背景像素点。

可以看出,近水平直线段由相距很近的行基元集合组成;近垂直直线段由相距很近的列基元集合组成;近45°直线依据其斜率分别由45°或135°扫描线上的斜基元集合组成。

综上可知,任何直线段都可以表示为总体走向趋势基本一致且缝隙很小、相距很近的相应基元的集合。

以此结构特点为基础建立本文的直线提取方法。

图4.1数字图像中直线的分布4.2Hough变换的几种基本算法常用的Hough变换检测直线的方法,是运用下式在图像空间和参数空间之间,建立对偶变换。

ρ= x cos α + y sin α(4.1)(a)直角坐标系(b)参数空间图4.2 Hough变换示意图在式(4.1)中,ρ为极径;α为极角,α取 0 ~180 °;x为像素点相对图像原点的行坐标;y 为像素点相对图像原点的列坐标。

相关主题