用户登录  |  用户注册
首 页毕业论文毕业设计下载定做交易过程截图支付宝在线支付

软件名称:[B]基于霍夫变换的图形检测[/B]
软件类型:通信电子毕业设计
运行环境:Win9X/Win2000/WinXP/Win2003/
软件语言:简体中文
授权方式:共享版
软件大小:0 Bytes
官方主页:Home Page
更新时间:2019-02-10 17:40:44
软件简介:

 霍夫变换是数字图像处理中用来检测直线和圆的常用的手段之一。Hough变换的基本原理在于利用点与线的对偶性,将原始图像空间的给定的曲线通过曲线表达形式变为参数空间的一个点。如此就把原本的检测图像中曲线位置的问题转变成为参数空间中的峰值累加的问题,由整体转为局部,大大减少运算量。通过参数空间中的点的累加,更加直观,容易的提取图像空间中所要求的曲线。比如直线、矩形、圆等。霍夫变换检测直线,矩形和圆的方法相比于其他的检测手段,可以更好的增加抗干扰能力。用MATLAB环境中仿真,用霍夫变换实现对图像中直线,矩形,圆的检测,并来检测那种检测方法更好。


关键字:MATLAB;霍夫变换;点与线;对偶性

ABSTRACT
Hough transform is used in digital image processing of linear and circular commonly used means of detection. The basic principle is to use the Hough transform point and line duality, the curve given by the curve of the original image space into a form of expression point of the parameter space. Put this problem in the original image is detected shift position curve becomes a problem in the parameter space of the accumulated peak, into the whole partial, greatly reducing the amount of computation. The parameter space of the summing point, more intuitive, easier to extract the desired image space curve. Such as lines, rectangles, circles and so on. Hough transform to detect lines, rectangles and circles method compared to other detection methods, you can better increase the anti-jamming capability. Simulation using MATLAB environment, using Hough transform the image of a straight line, rectangle, circle detection, and detection methods to detect the kind of better.

Keywords: MATLAB;Hough transform;points and lines;duality


目录

摘要 I
ABSTRACT II
第1章 绪论 1
1.1 数字图像处理的定义及其发展历程 1
1.2 研究的意义 2
1.3 霍夫变换的基本概念 3
1.3.1霍夫变换的原理 3
1.3.2 霍夫变换的应用 5
1.3.2 霍夫变换的作用 6
第2章 MATLAB简介 7
2.1 MATLAB简介 7
2.2 MATLAB的特点 7
第3章 霍夫变换的直线检测 8
3.1 霍夫变换的直线检测原理 8
3.2 霍夫变换的结果与分析 9
第4章 霍夫变换的矩形检测 13
4.1 霍夫变换的矩形检测原理 13
4.2 霍夫变换的矩形检测结果与分析 13
第5章 霍夫变换的圆检测 14
5.1 霍夫变换的圆检测原理 14
5.2 霍夫变换的圆检测结果与分析 15
第6章 总结和展望 17
致谢 18
参考文献 19
附录1:程序 20

第1章 绪论
1.1 数字图像处理的定义及其发展历程
数字图像处理(Digital Image Processing)的定义是通过计算机对图像进行去除噪声、复原、增强、提取、分割特征等处理的方法和技术。一般所处理的图像是二维图像。更广义地讲,它包括对任何二维数据的数字处理。这门学科的产生和迅速发展主要受下面几个方面因素的影响:一是计算机的发展;二是数学的发展,特别是离散数学理论的创立和完善;三是军事、工业和医学等应用点越来越多[]。
数字图像处理最早产生于20世纪50年代,当时的电子计算机已经有了一定的水平,人们开始用更方便的方法来处理图像的各种信息,就是计算机。数字图像处理在20世纪60年代初期慢慢的演变为一门独立的学科。
在如今的社会中,随着计算机应用的越来越普遍,人们生活中也更多的依赖它,所以人们对计算机的人工智能的要求也越来越高,希望计算机能完成人平时所做的一些事。
计算机视觉处理技术在过去的一段时间内得到的迅猛的发展,目标检测,识别,图像分割与理解的研究等在近些年都取得了长足的进步。随着理论基础的研究的不断进行,实际的应用中也越来越多的用到计算机视觉的相关方法[]。其中目标的检测与识别与实践紧密相连,尤其是在机器人应用领域,通过视觉系统对环境进行实时的感知,并对动态障碍物进行检测和认知,是移动机器人视觉系统的基础功能。
经典霍夫变换是图像变换中的常用手段之一,主要用来从图像中检测出具有某种相同特征的几何形状(如,直线,矩形,圆等)。霍夫变换寻找直线与圆的方法相比于其他方法可以更好的抑制噪声干扰[]3,4。
近几年来,很多计算机视觉领域的专家学者对不同的问题做了不同的深入的研究。主要来说,在一下几个方面:首先是图像的特征,因为图像信息十分复杂,必然也存在大量冗余信息是我们所不需要的,怎么样从图像中提取我们所需要的信息,就变得非常关键。另外图像信息受很多因素影响,比如尺度,光照,旋转,温度等等,如何保证在各种环境下都能提取有很好的表现的特征,也是非常重要的参考依据。
1.2 研究的意义
数字图像处理技术自学科建立以来,发展的非常迅速,现在已经成为工程学、计算机科学、信息科学等众多领域学习和研究的对象。它的发展和应用给人类带来了巨大的经济和社会效益。在工业上,用于矿藏分析、产品精度和纯度分析、无接触式检测等;在生物医学上,应用于计算机断层图像CT、核磁共振、X光透视、病毒细胞的检测和识别等;在交通上,应用于车辆检测、车种识别、车辆跟踪等;另外,在图像传输、机器人识别、身份鉴定、神经网络等各个领域都有着广泛的应用。
数字图像处理有许多优点,主要表现在:再现性好、处理精度高、适用面宽、灵活性高等方面,正是这些优点,让其有了广阔的应用领域[]。
数字图像处理随着计算机硬件的发展,数字图像的实时处理已经成为可能,由于数字图像处理的各种算法的出现,使得其处理速度越来越快。本文对数字图像处理主要是指基于霍夫变换的图像分割,并且用MATLAB对它们进行了仿真实验。
经典Hough变换的实质是把图像空间坐标变换到参数空间中,使变换的结果更直接,方便。
而相比近点霍夫变换,广义霍夫变换应用的更最广泛,他的定义为:一个对象(instant) 通常有一组特征向量空间f=[...f_i,..]来描述。比如说直线(instant)就可以用[k, b](f)这组向量空间来描述。如果我们确定向量空间的范围和步长。我们就定义了hough变换的一个关键要素: feature accumulator. 在检测当中我们会捕捉到对应于某组instants的cue,比如说直线hough变化, 在图像上的某一个点就是对应于 一组直线的cue(通俗的说就是该点可能在这组直线上)。捕捉到这个cue之后,这组instants在相应的feature accumulator上就累加1(比如说一组直线对应于accumulator上相应的若干(k, b)格点,在图像上捕捉到这组直线可能所在的某一点cue后,accumulator相应的格点要累加1)。最后我们要计算accumulator上的局部最大值[]。根据这些local maxima 就能够确定被检测的对象(instant)。
假设x是你在图像上捕捉到的一个边缘点(cue).假设S是你定义要求的不规则形状,你下一步就要求出所有可能的中心点c,使得以c为中心的S过x点。并且这些中心点在accumulator对应的格点上累加1. 这就完成了hough检测的基本操作。最后根据计算出来的accumulator求出局部最大值就是你要检测的目标[]。上面的accumulator只考虑中心点的[x, y]坐标, 也就是说只考虑S的平移而不考虑它的转向theta,如果考虑S的转向的话,accumulator还要增加一个维度[x, y, theta]。更具体的说, 假设x是你在图像捕捉到的一个边缘点cue,你下一步就是要求出所以可能的[x, y, theta]使得以[x, y]为中心以theta为转向的S过x点。
所以按照这种方法,广义霍夫变换可以检测任意形状的曲线。
1.3 霍夫变换的基本概念
1.3.1霍夫变换的原理
经典hough变换的本质是对图像坐标进行变换,使变换得到的结果更容易被人们发现和处理。最为经典的例子就是将直线方程从直角坐标平面转换为极坐标平面形式,转换后的结果:图像平面中的一点点转化为参数平面中的一条直线。如图1所示:而直角坐标系下的一条直线在极坐标下便成为一族有公共交点的曲线,如图2所示。这样,识别直线时在参数平面上寻找具有某种特性的聚集点就比在图像平面上直接识别图形来对计算机而言更简单了[];最后,只要再根据变换规则进行相应的反变换便得到其相关几何参数。

图 1.1 点的霍夫变换极坐标形式

图 2.2 线的霍夫变换极坐标形式
我们先看这样一个问题:设已知画一条直线在图像平面上,要求让计算机识别出这条直线所在的坐标。我们知道,y=k*x+b是直线的坐标方程,其中k和b分别为该坐标方程的参数,分别代表斜率和截距。观察数学表达式y0=kx0+b,我们可以知道经过一点(x0,y0)的所有直线都会满足该参数方程。即点(x0,y0)确定该店所在的平面的直线方程[]。把方程y0=kx0+b从坐标方程转化为参数平面上的方程可得b=-x0*k+y0,同样在参数平面中也对应了一条直线。这样,图像x--y平面上的一个像素点就转化到参数平面上的一条直线。我再来举一个详细点的例子来阐述下上面的问题。设图像上的直线是y=x, 先在上面任取三个点:A(4,4), B(6,6), C(8,8)。通过计算可得,过A点的直线的参数满足方程b=0, 过B点的直线的参数满足方程1=k+b, 过C点的直线的参数满足方程2=2k+b, 把这三条参数方程就画在参数平面上,观察可得这三条直线相交于一点(k=1,b=0)[]。同理,原图像上直线y=x上的其它点(如(9,9),(5,5)等) 对应参数平面上的直线也会通过点(k=1,b=0)。
根据这个结论,我们在检测直线的时候,就有了新的思路:
首先,我们给参数平面中的点赋值,将其所有数据置为0.
总结一下霍夫变换的基本思想:对于图像上每一像素点,把该点带入公式b=-x*k+y,求出参数平面对应的直线,然后把这直线上的所有点的值都加1。依次类推,最后,找到参数平面上最大点的位置,这个位置就是原图像上直线的参数。就是把图像平面上的点对应到参数平面上的线,最后通过统计特性来解决问题。假如图像平面上有两条直线,那么最终在参数平面上就会看到两个峰值点,依此类推。
在实际应用中,y=k*x+b形式的直线方程没有办法表示x=c形式的直线(这时候,直线的斜率为无穷大)。所以实际应用中,是采用参数方程p=x*cos(theta)+y*sin(theta)。这样,图像平面上的一个点就对应到参数p---theta平面上的一条曲线上。其它的还是一样[]。
其中,对图像进行霍夫变换之前,要先对图像进行灰度变换和二值化处理,才能操作图像。
那么什么叫做灰度图像呢:一幅完整的图像,是由绿色、红色、蓝色三个通道组成的。蓝色、绿色、红色三个通道的缩览图都是以灰度显示的。用不同的灰度色阶来表示“绿,蓝,红”在图像中的比重。通道中的纯白,代表了该色光在此处为最高亮度,亮度级别是255。
在计算机领域中,这类图像通常显示为图片的灰度,理论上这个采样可以任何颜色的不同深浅,和同亮度上的不同颜色。灰度图像与黑白图像不同,在计算机图像领域中黑白图像只有黑色与白色两种颜色;灰度图像在黑色与白色之间还有许多级的颜色深度。但是,在数字图像领域之外,“黑白图像”也表示“灰度图像”,例如灰度的照片通常叫做“黑白照片”。在一些关于数字图像的文章中单色图像等同于灰度图像,在另外一些文章中又等同于黑白图像
图像的二值化又对图像进行了什么处理呢?图像二值化就是将图像上的像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果。将256个亮度等级的灰度图像通过适当的阀值选取而获得仍然可以反映图像整体和局部特征的二值化图像。因此要获得二值图像首先需要设定一个灰度阀值,所有灰度大于或等于阀值的像素被判定为属于特定物体,其灰度值为255表示,否则这些像素点被排除在物体区域以外,灰度值为0,表示背景或者例外的物体区域。
1.3.2 霍夫变换的应用
经典hough变换主要针对直线和圆的检测,它将图片上所有的像素点进行hough变换,将参数平面上各点看作一个个累加器,初始化都为零(点与点的距离取决于开始所设置的步长的大小),原图像平面上各点经霍夫变换后所得直线在参数平面上所有的点,经过多该点便累加1,最后结果是各曲线的交点处计数器值达到最大,该点坐标值既直线的参数,借助该几何图形的特点,还原回几何图形的参数表达,就能正确识别它们了。
由于霍夫变换有这抗噪声能力强的有点,所以能在很多方面得以应用。经典霍夫变换的一个衍生,广义霍夫变换能检测任意的曲线,拥有着更加广阔的前景。
1.3.2 霍夫变换的作用
在进行霍夫变换前应该对图像进行预处理,一般先对灰度图像进行二值化处理,然后细化边缘得到图像骨架,再采用霍夫变换提取图像中的直线。
霍夫变换做扩展后可以检测所有给出解析式的曲线,如圆等。进一步,利用广义霍夫变换可以检测无解析式的任意形状边界[]。


[url=http://www.biye114.com/html/1538.html][B]基于霍夫变换的图形检测[/B][/url]
Copyright © 2007-2013 完美毕业网. All Rights Reserved .
页面执行时间:62.50000 毫秒
Powered by:完美毕业网 http://www.biye114.com