(2015-2016学年第1学期)重庆理工大学研究生课程论文课程论文题目:Hough算法的原理及在图像处理方面的应用课程名称机械优化设计课程类别□学位课√非学位课任课教师贾秋红所在学院机械工程学院学科专业机械工程姓名学号52151211114提交日期2015.1.12Hough算法的原理及在图像处理方面的应用胡友呈摘要:hough算法主要原理是能够把给定曲线或者直线检测问题变成寻找变换空间的峰点问题,这样就把检测整体特征转换为检测局部特征。Hough算法在形状特征处理方面有很大优势。相对于其他算法,它即使在图像被遮挡了也有很好的识别性,抗干扰能力强。主要介绍hough算法以及简单介绍下数学形态学识别,深度图像识别的原理;几种算法之间的比较,说明hough的优越性;最后介绍hough算法的应用。关键词:hough算法原理,hough应用,识别,图像;Abstract:TheoryofHoughalgorithmisthatThedetectionofagivencurveorastraightlineistransformedaproblemtofindthepeakpointofthetransformationspace.Sothatthedetectionoftheoverallcharacteristicsbecomethedetectionoflocalfeatures.Houghalgorithmhasadvantagesofshapefeatureprocessing.Comparedwithotheralgorithms,ithasagoodrecognitionadvantageevenwhentheimageisblocked.Andithasstronganti-interferenceability.ThispapermainlydescribethetheoryoftheHoughalgorithm,mathematicalmorphologyrecognition,theprincipleofdepthimagerecognition.ComparisonbetweenseveralalgorithmsprominentoutstandingofHough.Finally,thebookdescribetheapplicationofHoughalgorithm.Keyword:TheoryofHoughalgorithm,Houghapplication,Distinguish,photo.引言:Hough变换在1962年由PaulHough提出,并在美国作为专利被发表。它所实现的是一种从图像空间到参数空间的映射关系。由于具有一些明显优点和可贵性质,它引起了许多国内外学者和工程技术人员的普遍关注。例如,由于其根据局部度量来计算全面描述参数,因而对于区域边界被噪声干扰或被其他目标遮盖而引起边界发生某些间断的情况,它具有很好的容错性和鲁棒性。多年来,专家们对Hough变换的理论性质和应用方法进行了深入而广泛的研究,并取得了许多有价值的成果。Hough变换是一种形状匹配技术。最初是用于二值图像直线检测,后来扩展任意形状的检测。Hough变换在图像识别技术方面有很大的优势,及时遇到了图像物体不完整,倾斜,能够很好的还原物体,进行很好的识别。一、Hough算法的原理:Hough算法的基础原理在于利用点与线的对偶性,将原始图像空间给定的曲线通过曲线表达式变为空间的一个点。这样就把原始图像中给定曲线检测问题转化为寻找参数空间中的峰值问题。Hough变换的根据公式:xcos(θ)+ysin(θ)=ρ从而实现了把x-y平面的图像转换为θ-ρ参数平面上的图像矩阵。这样就是实现了一种物体的图像分割,然后再进行物体提取。这里就举一个hough处理圆的原理。与使用(r,theta)来表示一条直线相似,使用(a,b,r)来确定一个圆心为(a,b)半径为r的圆。1如何表示过某个点的所有圆?某个圆过点(x1,y1),则有:(x1-a1)^2+(y1-b1)^2=r1^2。那么过点(x1,y1)的所有圆可以表示为(a1(i),b1(i),r1(i)),其中r1∈(0,无穷),每一个i值都对应一个不同的圆,(a1(i),b1(i),r1(i))表示了无穷多个过点(x1,y1)的圆。2如何确定多个点在同一个圆上?如(2)中说明,过点(x1,y1)的所有圆可以表示为(a1(i),b1(i),r1(i)),过点(x2,y2)的所有圆可以表示为(a2(i),b2(i),r2(i)),过点(x3,y3)的所有圆可以表示为(a3(i),b3(i),r3(i)),如果这三个点在同一个圆上,那么存在一个值(a0,b0,r0),使得a0=a1(k)=a2(k)=a3(k)且b0=b1(k)=b2(k)=b3(k)且r0=r1(k)=r2(k)=r3(k),即这三个点同时在圆(a0,b0,r0)上。从下图可以形象的看出:首先,分析过点(x1,y1)的所有圆(a1(i),b1(i),r1(i)),当确定r1(i)时,(a1(i),b1(i))的轨迹是一个以(x1,y1,r1(i))为中心半径为r1(i)的圆。那么,所有圆(a1(i),b1(i),r1(i))的组成了一个以(x1,y1,0)为顶点,锥角为90度的圆锥面。三个圆锥面的交点A既是同时过这三个点的圆。这样就可以根据多次比较,根据各个点的投票超过设定阀值来得出果实的形状大小。二、数学形态学识别原理:数学形态学是一种非线性图像处理和分析理论,抛弃了传统的数值建模、处理和分析的观点,从集合运算的角度来描述和分析图像,着重研究图像的集合结构。从某种意义上讲,数学形态学开辟了图像处理与识别的新理论、新方法。数学形态学的基本运算包括膨胀、腐蚀,以及由膨胀和腐蚀不同组合推导出的开启、闭合、厚化和薄化等算法。数学形态学最初用于数学形态学最初用于处理二值图像。它是将二值图像看成集合,而结构元素是一个可以在图像上平移且尺寸比图像小的集合,并运用结构元素对图像进行探测。结构元素在图像范围内平移的同时,施加交、并、补等集合运算,以达到对二值图像的处理。但是由于现实中的图像多为灰度图像,因此将二值形态学推广到灰度形态学,相当于将图像的函数空间从二维推广到三维,函数的值域从[0,1]推广到[0,255]。灰度形态学是二值形态学对灰度图像的自然扩展,其中,二值形态学中所用到的交、并运算分别用最大、最小极值运算代替。简要介绍下数学形态学的腐蚀:用结构元素b对输入图像f(x,y)进行灰值腐蚀记为fΘS,其定义为()(,)min{(,)(,)|,,}fsfstmftxmysxytxmyDxyD式中,Df和Db分别是f和b这里限制(t+x)和(m+y)在f的定义域之内,类似于二值腐蚀定义中要求结构元素完全包括在被腐蚀集合中。其效果相当于半圆形结构元素在被腐蚀函数的下面“滑动”时,其圆心画出的轨迹。但是,这里存在一个限制条件,即结构元素必须在函数曲线的下面平移。从图中不难看出,半圆形结构元素从函数的下面对函数产生滤波作用,这与圆盘从内部对二值图像滤波的情况是相似的。采用了一个扁平结构元素对上图的函数作灰值腐蚀。扁平结构元素是一种在其定义域上取常数的结构元素。注意这种结构元素产生的滤波效果。进行开运算与闭运算进行形态学处理,开运算可看作将b贴着f的下沿从一端滚到另一端。对所有比b的直径小的山峰其高度和尖锐度都减弱了。开运算操作消除与结构元素相比尺寸较小的亮细节,而保持图像整体灰度值和大的亮区域基本不受影响。腐蚀去除了小的亮细节并同时减弱了图像亮度,膨胀增加了图像亮度,但又不重新引入前面去除的细节。闭运算可看作将b贴着f的上沿从一端滚到另一端。所有比b的直径小的山谷得到了“填充”。闭运算操作消除与结构元素相比尺寸较小的暗细节,而保持图像整体灰度值和大的暗区域基本不受影响;膨胀去除了小的暗细节并同时增强了图像亮度,腐蚀减弱了图像亮度但又不重新引入前面去除的细节。这样处理后就能得到很好的图像效果,便于对图像进行识别。三、深度图的算法:其工作原理是对三维空间进行纵深标记,以激光散斑作为标记信号,当激光照射到目标物体或穿透毛玻璃后形成衍射斑点,衍射斑点因距离改变而发生变化,因此相机首次拍摄前需要对拍摄场景进行标定。标定方法如下:每隔一段距离,取一参考平面,记录下参考平面上的散斑图案。当检测物体时,所拍摄场景的散斑图像与标定的参考图像依次计算相关系数,存在物体的位置会出现峰值,将每一层参考平面处的峰值叠加,然后经过一些插值计算,即可得到三维场景形状。灰度值变化方向与相机所拍摄的视场方向z方向相同(利用深度图像可以在一定范围内重建3D空间区域,并且可以从一定程度上解决物体遮挡或同一物体各部分重叠的问题)。根据深度,可以很容易地把前景和背景分开,这使得识别的难度大大降低。测量物体深度的原理:利用高精度计数器计算时间差,发射调制光时启动高精度计数器,测量到反射光后停止计数器。或者使用电容充电法计算时间差,入射光和反射光改变电容两端电压,通过其随时间变化的规律计算时间差。四、各种算法的优缺点的比较:基于数学形态学的方法在物体间相互重叠比例较小时,具有较好的识别效果;当物体间相互重叠比例较大时,容易出现过分割或欠分割的错误。类似于数学形态学的方法,该方法在物体被遮挡的边缘较少时,具有较好的识别效果。Hough算法把曲线和直线转化为空间参数的峰值,当物体基于Hough变换的识别方法具有较好的抗干扰能力,当物体部分边缘被遮挡时,同样具有较好的识别性能。该方法的缺点是计算量较大,需要进行卷积,实时性能较差。基于深度图像的识别方法,由于是物体的3D形状进行成簇区域内果蔬的识别,因此该方法在物体存在轻度遮挡的情况下,同样可以具有较好的识别性能,但该方法的主要问题是物体区域内对象3D重建较为复杂,计算量很大。目前hough算法在图像轮廓识别,被遮挡物体以及图像处理方面有很好的应用,唯一不好的在于需要进行卷积运算从而,在计算较复杂图像是运算量很大,大大降低了识别速度。其根据局部度量来计算全面描述参数,因而对于区域边界被噪声干扰或被其他目标遮盖而引起边界发生某些间断的情况,它具有很好的容错性和鲁棒性。使其在图像识别上有很大的优势,应用广泛。五、hough算法的应用:目前hough算法基于把直线或曲线转化成空间参数的峰值,从而提取图像的轮廓。目前hough算法在采摘机器人的进行视觉识别果园果实方面应用很大,姚立健等以茄子3D模型的中心轴绕轴旋转的角度Ot、缩放比及该旋转角度下的茄子形心坐标(o,b)作为进行广义Hough变换后所需确定的4个参数,建立以旋转角度及缩放比为最高索引项,边缘点梯度值为第2层索引的形心坐标检索表。识别时,通过检索该表对相应形心坐标对应的茄子模型进行投票,取与被识别茄子公共面积比最大的最高得票数对应的茄子模型为识别结果。同时崔永杰等对毗邻猕猴桃的分离方法进行了研究,提出了一种基于椭圆Hough变换的毗邻猕猴桃识别方法。因此hough算法在解决成簇果实识别方面有很大的作用,性能优越。同时也有在车牌倾斜校正有着广泛应用步骤大致是1)图像预处理。读取图像,转换成灰度图,去除离散噪声点2)利用边缘检测,对图像中水平线进行强化处理。3)基于Hough变换检测车牌图像中边框,获取倾斜角度。4)根据倾斜角度,对车牌图像进行倾斜校正。最后通过θ角来确定车牌的倾斜角。Hough算法在眼跟踪瞄准的应用也有很好的应用,Hough变换检测瞳孔中心算法实现1)从内存读取红外源图像如图2所示,与眼睛的其他部分相比,瞳孔要暗得多,可以采用简单的二值化的方法分离出瞳孔,运用Hough变换检测瞳孔中心坐标。因为瞳孔的半径是一定值,我们可以根据经验规定瞳孔的半径范围【rl,r2];lpDIBBits为二值化图像的DIB指针,Width为图像宽度;Height为图像的高度;circleNum为检测的圆的个数(这里默认为1);radius为当前检测的圆的半