当前位置:文档之家› 结合NNDR与霍夫变换的匹配方法

结合NNDR与霍夫变换的匹配方法

结合NNDR与霍夫变换的匹配方法
结合NNDR与霍夫变换的匹配方法

结合NNDR 与霍夫变换的匹配方法

在建立两幅图像之间局部特征的匹配关系时,可以参照Marr 等人错误!未找到引用源。提出的匹配应该满足唯一性、相似性、连续性三个基本约束条件,即物体表面任意一点到观察点的距离是唯一的,因此其视差是唯一的,给定一幅图像中的一点,其在另一幅图像中对应的匹配点最多只有一个;对应的特征应有相同的属性,在某种度量下,同一物理特征在两幅图像中具有相似的描述符;与观察点的距离相比,物体表面因凹凸不平引起的深度变化是缓慢的,因而视差变化是缓慢的,或者说视差具有连续性。

1 基于NNDR 的匹配策略

目前常用的目标匹配策略有两种:一种是距离阈值法(Threshold-based Matching ),即待匹配目标与模型之间的距离小于某个阈值,则认为匹配上了,该方法非常简单,但是阈值的确定非常困难,而且目标很容易匹配上多个模型,从而产生大量的误匹配;另一种是最小距离法(Minimum Distance),即目标只匹配与其距离最近的模型,实际应用中一般还需要满足距离小于某个阈值的条件,该方法只有一个最佳的匹配结果,相对于距离阈值法来说,正确率要高。

由于图像的内容千差万别,加上场景中的运动物体、不重叠内容以及图像质量等因素的存在,一幅图像中的局部特征并不一定能够在另一幅图像中找到相似的特征,这就需要采取措施剔除那些产生干扰的噪声点,通常把这样的点称为“外点”。许多图像的背景比较相似并不具有区分性,如天空、旷野之类,它们的局部特征之间的距离要小于有用的特征之间的距离,但是它们并不能描述图像的主要内容,所以设置一个全局性的距离阈值来决定局部特征匹配与否显然是不合适的。

对SIFT 特征的研究错误!未找到引用源。表明,可以通过比较最近邻(First Nearest Neighbor )特征和次近邻(Second Nearest Neighbor )特征的距离可以有效地甄别局部特征是否正确匹配。这就是最邻近距离比值法(Nearest Neighbor Distance Ratio, NNDR ),其表述如下,如果待匹配特征为A D ,其最邻近特征为B D ,次邻近特征为C D ,那么判断该特征匹配的条件为:

A B

A C D D t D D -<- (5-1)

该方法理论来源是,如果一个特征在一幅图像中与两个特征的距离都很相近,

那么该特征的区分度较低,也违背了Marr 提出的“匹配应该满足唯一性”的原则,会对图像相似度的判断产生干扰。如图5.1所示,进行SIFT 特征匹配的实验结果也证实了这一点,当剔除与最近邻点和次近邻点距离比值大于0.8的特征对时,排除了90%的干扰而仅仅误删了5%的正确特征对。

图错误!文档中没有指定样式的文字。.1 特征点匹配的概率分布

该实验从图像数据库中选取的待匹配图像,共提取了40000个SIFT 特征,对这些待匹配的图像进行了随机数值的尺度变化和平面旋转,并进行了深度小于30 的视角变化处理,同时也加入2%的高斯噪声。

2 邻近特征点的搜索算法

用穷举法搜寻最邻近点以及次邻近点,可以得到最精确的结果。但是由于本书所用的特征空间一般都高达128维以上,加之复杂图像的局部特征数量比较多,搜索算法的效率显然成为了整个系统的一个瓶颈。

1. K-D 树搜索策略

标准K-D 树是Friedman 等人错误!未找到引用源。提出的一种高维二叉树,K 表示空间的维数,在其上可实现对给定特征点的快速最近邻查找。若某K-D 树的结点数目为N ,则在它上面的最邻近节点的平均计算复杂度为(lg )O N 。其后又相继提出了K-D 树的1ε+近似最近邻搜索算法(ANNS),其主要思想是在搜索时只查询那些与给定特征点的距离小于当前最近距离)11ε+倍的点,此时搜索完成时返回的点未必是真实的最近邻点(除非0ε=),但是即使当ε取的较大(如3ε=时),所返回的点仍然有50%的机会是真实的最近邻点,而且在平均意义上它们到目标点的距离只是真实最近邻点到目标点的距离的11.5倍,取得的加速比却可以达到50倍以上。

在数据维数较低的时候,K-D树搜索方法比较有效。在更高维的数据空间中将会有更多的分类结果接近目标真实数据,此时使用K-D树进行搜索的话,效率将会急剧下降。本书所用的特征空间一般都高达128维以上,为此本书使用了Beis和Lowe提出的Best-Bin-First(BBF)算法错误!未找到引用源。提对常规的K-D树搜索方法进行改进,从而实现较快的匹配点搜索。

2. 基于BBF算法的搜索策略

在高维数据搜索空间中,K-D树搜索的结果仅仅只有很少的一部分满足邻近原则,为了加快搜索速度,可以通过减少搜索节点来缩小搜索范围。这需要使用一个基于堆的优先级队列,将搜索空间的节点按照与待查询节点的距离来进行排序。当搜索到的节点符合设定的约束条件,则记录到优先级队列中去,从而获取下一个候选节点的信息(包括该节点在当前树的位置和到待查询节点的距离)。当一个最邻近点被搜索到后,则从队列的队首删除一项,然后继续搜索包含最近邻节点的其他分支。

如图5.2所示,对于特征点数量达到10000、维度为5到25的数据检索中,按照BBF算法改进的搜索策略很大程度上提高了检索效率,而标准的K-D树搜索策略在数据维度达到10后其效率便明显下降了。

图错误!文档中没有指定样式的文字。.2 BBF算法与K-D树的搜索时间代价本书设定的约束条件是检查前200个最邻近候选节点,该算法在搜索速度提高了2个数量级的同时,平均只丢失5%的特征对,这对于一般的图像检索来说是可以容忍的。当距离非常相近的特征点需要进一步甄别的时候,BBF算法的搜效率会受到制约,但是本书剔除了与最近邻点和次近邻点距离比值大于0.8的特征对,这就基本上避免了这一困境。

3 基于霍夫变换的目标检测

一幅图像往往可以提取出超过2000个局部特征,而这些局部特征很可能来自场景中的多个物体或背景。如何从这些特征中寻找到只属于待识别目标的局部特征子集,这是进行目标匹配识别所必须解决的问题。霍夫变换(Hough Transform )为此提供了一条高效的途径。

基本的霍夫变换最初是用来进行直线检测的,而广义霍夫变换则可以在所需检测的曲线或目标轮廓没有或不易用解析表达式时,利用表格来建立曲线或轮廓点与参考点间的关系,进而检测出目标错误!未找到引用源。。霍夫变换的基本思想是将原图像变换到参数空间,用大多数边界点满足某种参数形式来描述图像中的线,通过设置累加器进行累积,求得峰值对应的点所需要的信息。霍夫变换以其对局部缺损的不敏感,对随机噪声的鲁棒性以及适于并行处理等优良特性,备受图像处理、模式识别和计算机视觉领域学者的青睐。霍夫变换的突出优点就是可以将图像中较为困难的全局检测问题转换为参数空间中相对容易解决的局部峰值检测问题。

霍夫变换利用点线对偶性原理进行坐标变换,原理如图5.3所示,在直角坐标系下,利用公式(5-2)表示过点(x , y )的直线L 0的方程:

00y k x b =+ (5-2)

其中,k 0为斜率,b 0为截距。将其变换为参数空间中过点(k 0, b 0)的直线方程:

00b xk y =-+ (5-3)

可以看出,直线L 0上的两个点(x 1, y 1)和(x 2, y 2),在参数空间中表示为两条直线不同的直线L 1和L 2,而它们在参数空间中相交于(k 0, b 0)点。也就是说,原图像空间中同一条直线上的不同点在参数空间中被变换为一组相交于同一点的直线。

图错误!文档中没有指定样式的文字。.3 直线检测中的霍夫变换

使用公式(5-2)表示一条直线带来的一个问题是,当直线接近垂直时,直线

的斜率接近无限大。解决这一难点的一种方法是使用极坐标方程来表示直线:

cos sin x y ρθθ=+ (5-4)

其中ρ为原点到直线的距离(即原点到直线的垂直线的长度),θ确定了直线的方向(即原点到直线的垂直线与x 轴方向的夹角)。如果对位于同一直线上的n 个点进行霍夫变换,则原图像空间中的这n 个点在参数空间中对应得到n 条正弦曲线,并且这些曲线相交于同一点了,若能确定参数空间中的P 0点(局部最大值),也就实现了直线的检测。

本书对目标姿态建立一个参数空间,将目标的2D 坐标、尺度、方向参数等坐标轴按照一定的步长划分为若干等份;然后将所有匹配的特征点向这个参数空间投票;对参数空间每个点的投票累加值进行分析,累加值大的点所对应的目标姿态有更高的概率出现在图像中。在实际应用中,对于参数空间坐标轴步长,一般2D 坐标为训练集中目标最大尺寸的0.25倍,尺度因子为2,方向参数为30 。累加值和预设的阈值进行比较,当大于阈值时,则判定该点所对应的目标姿态存在于图像中。

在图5.4中,左图所示的两个目标——玩具火车和玩具青蛙,由于其他物体(包和箱子等)的存在,在中间的图像里都产生了局部遮挡,而采用上述的目标匹配方法都可以将这些目标识别出来,识别效果图如右图所示。大的矩形框中是识别出的目标,小的矩形框代表识别所用到的局部特征。

图错误!文档中没有指定样式的文字。.4 局部遮挡目标检测(来源: Lowe, 2004)

以一般化视角串联霍夫变换(hough transform),从直线到圆再到广义霍夫变换

计算机视觉中经常需要识别或者定位某些几何图形,比如直线、圆、椭圆,还有其他一些图形。检测直线的霍夫变换提供了在图像中寻找直线的一种算法,是最简单的一种情形,后来发展到检测圆、椭圆、还有一般图形的霍夫变换,其核心思想是把图像中属于某种图形的点集(二维)映射到一个点(可以是高维)上,这个点记录了点集中点的数目,使得程序通过搜索峰值找到该点,这个点就是后面要说到的图形的参数,而该参数的范围就叫做参数空间。霍夫变换不仅能够识别出图像中有无需要检测的图形,而且能够定位到该图像(包括位置、角度等),这就非常有用了。接下来将通过分析从简单到复杂的霍夫变换,导出霍夫变换的实质。 直线:检测直线的霍夫变换使用含极坐标参数的直线表示型式简称极坐标式(不是极坐标方程, 因为还是在笛卡尔坐标下表示)—— 其中的两个参数的意义如下图: 为什么要用极坐标式而不直接用一般形式:ax+by=c(归一化可以去掉参数c),或者其他的如斜截式、截距式呢?首先它们都会遇到奇异情况,比如c=0,斜率=无穷大,其中一个截距=0;再一个是某些形式的参数空间不是闭的,比如斜截式的斜率k,取值范围从0到无穷大,给量化搜索带来了困难。而极坐标式就妙在距离和角度两个参数都是有界的,而且正余弦函数也有界不会发生奇异情况。 直线霍夫变换有两个参数,且这两个参数通过极坐标式相关联,所以程序在投票阶段(图形点集转换到一个点)只需要遍历其中一个,搜索峰值在二维参数空间进行。

圆:霍夫变换检测圆使用圆的标准式就可以了 —— 我们发现圆的方程又比直线多了一个参数,这三个参数通过上面的方程相关联,因此在投票阶段需要遍历其中两个,搜索峰值在三维参数空间进行。如果图像比较大,那么这样的遍历搜索是相当耗时的,所以为了满足实时性后来又发展出其他检测圆的霍夫变换,比如概率霍夫变换,结合梯度信息的霍夫变换。 霍夫变换检测椭圆如果使用椭圆的标准式,那么将会有五个参数,它们通过标准式相关,检测圆就已经相当耗时了,如果再用这中方程形式处理势必失去实际用途。 Ballard (1981) 一般化了霍夫变换(Hough,1962),利用图形梯度量加快算法速度,形成了一般霍夫变换。 透过前面的检测直线、圆、一般霍夫变换,已经可以提取出霍夫变换的一个本质——给出图形的一个描述模式,比如图形点集的方程、函数、表格等,然后利用这个模式加上遍历参数空间,把属于该模式的图形点集投射到参数空间的一个点(实际的离散情况一般不会完美的集中到一点),这个点记录的是图形点数目。 一般霍夫变换之所以能处理任意形状的图形并不是找到了可以表示任意图形的方程(这是不可能的),而是使用表的形式描述一种图形,把图形边缘点坐标保存在一张表中,那么该图形就确定下来了,所以其实无论是直线(其实是线段)、圆、椭圆还是其他形状的几何图形,都可以使用同一方法处理,所不同的是这时候的图形是自定义的,是实在的,而代数方程表示的模式是连续的、抽象的,圆的方程只有一种,但自定义的圆却是无穷的,只要你认为它足够圆了就可以。当然两种表示都会有各自的优势和局限。有了表之后就需要找到一种可以把图形点集投射到参数空间的一点的转换算法,例如直线和圆霍夫变换通过方程(函数)及遍历把点集进行投射,使得属于某直线或圆的点集中到一个点;那么仅有一张描述图形边缘坐标点的表如何进行投射呢?我们可以把这张表看作是模板,进行模板匹配,大部分的点匹配成功也就可以理解为这些点都投射到一个点上,不过这时候不需要再搜索参数空间峰值了,这种模式可以认为是参数间没有任何关联,所以是完全的遍历。但有旋转加上缩放的情况模板匹配型的霍夫变换是十分耗时的,也可以想象成因为参数不相关所以增加遍历搜索时间。Ballard (1981) 的一般霍夫变换最精妙之处在于为参数增加了两个关联,使得有平移和旋转(无缩放)的情况只需要遍历一个参数,三个参数分别是图形的中心坐标(横纵),旋转角度(相对参考图形),Ballard 的算法预先把参考图形边缘点对中心的径向量保存起来,利用待搜索图形边缘点的梯度方向(用相对坐标轴的角度表示)作为索引找到相应的径向量,加上该量后就完成了投射,所以要遍历的参数只有旋转角度,所以说有两个关联。当然如果加上缩放就要遍历两个参数,这也只是和霍夫检测圆的规模一样而已。这种一般霍夫变换的图形表不再是直接保存坐标,而是边缘点的梯度加上径向量,还有一个中心坐标,给出了这些量同样的也就能够表示出一种图形了。然而这种一般霍夫变换也是有缺陷的,不少后来者提出了改进方法,这不在本文讨论范围。 再来强调一次,霍夫变换就是通过图形的一种表示模式,加上一种转换方法,把图形的点集投射到一个点上以便检测。我们已经能够知道,参数个数越少,需要遍历的参数个数约少(关联越多),参数空间越小则处理速度越快。所以设计一种合理的转换方法非常关键。

霍夫变换

‘IEEE Transactions on Pattern Recognition And Machine Intelligence’ ‘IEEE Transactions on Image Processing’ 是最重要的两本,其它的如ICCV、CVPR、ECCV、NIPS、BMVC等的会议文章也非常好。 最小二乘线性拟合算法、随机霍夫变换、局部霍夫变换、 canny算子边缘检测、图像增强 霍夫变换 霍夫变换(Hough Transform)是图像处理中从图像中识别几何形状的基本方法之一,应用很广泛,也有很多改进算法。主要用来从图像中分离出具有某种相同特征的几何形状(如,直线,圆等)。最基本的霍夫变换是从黑白图像中检测直线(线段)。 详细内容 我们先看这样一个问题:设已知一黑白图像上画了一条直线,要求出这条直线所在的位置。我们知道,直线的方程可以用y=k*x+b 来表示,其中k和b是参数,分别是斜率和截距。过某一点(x0,y0)的所有直线的参数都会满足方程y0=kx0+b。即点(x0,y0)确定了一组直线。方程y0=kx0+b在参数k--b平面上是一条直线(你也可以是方程b=-x0*k+y0对应的直线)。这样,图像x--y平面上的一个前景像素点就对应到参数平面上的一条直线。我们举个例子说明解决前面那个问题的原理。设图像上的直线是y=x, 我们先取上面的三个点:A(0,0), B(1,1), C(2,2)。可以求出,过A点的直线的参数要满足方程b=0, 过B点的直线的参数要满足方程1=k+b, 过C点的直线的参数要满足方程2=2k+b, 这三个方程就对应着参数平面上的三条直线,而这三条直线会相交于一点(k=1,b=0)。同理,原图像上直线y=x上的其它点(如(3,3),(4,4)等) 对应参数平面上的直线也会通过点(k=1,b=0)。 应用 这个性质就为我们解决问题提供了方法:首先,我们初始化一块缓冲区,对应于参数 平面,将其所有数据置为0.对于图像上每一前景点,求出参数平面对应的直线,把这 直线上的所有点的值都加1。最后,找到参数平面上最大点的位置,这个位置就是原 图像上直线的参数。上面就是霍夫变换的基本思想。就是把图像平面上的点对应到参 数平面上的线,最后通过统计特性来解决问题。假如图像平面上有两条直线,那么最 终在参数平面上就会看到两个峰值点,依此类推。在实际应用中,y=k*x+b形式的直 线方程没有办法表示x=c形式的直线(这时候,直线的斜率为无穷大)。所以实际应用 中,是采用参数方程p=x*cos(theta)+y*sin(theta)。这样,图像平面上的一个点就 对应到参数p—theta平面上的一条曲线上。其它的还是一样。 应用实例1

Matlab小波变换函数

Matlab小波函数 Allnodes 计算树结点 appcoef 提取一维小波变换低频系数 appcoef2 提取二维小波分解低频系数 bestlevt 计算完整最佳小波包树 besttree 计算最佳(优)树 *biorfilt 双正交样条小波滤波器组 biorwavf 双正交样条小波滤波器 *centfrq 求小波中心频率 cgauwavf Complex Gaussian小波 cmorwavf coiflets小波滤波器 cwt 一维连续小波变换 dbaux Daubechies小波滤波器计算 dbwavf Daubechies小波滤波器dbwavf(W) W='dbN' N=1,2,3,...,50 ddencmp 获取默认值阈值(软或硬)熵标准 depo2ind 将深度-位置结点形式转化成索引结点形式detcoef 提取一维小波变换高频系数 detcoef2 提取二维小波分解高频系数 disp 显示文本或矩阵 drawtree 画小波包分解树(GUI) dtree 构造DTREE类 dwt 单尺度一维离散小波变换

dwt2 单尺度二维离散小波变换 dwtmode 离散小波变换拓展模式 *dyaddown 二元取样 *dyadup 二元插值 entrupd 更新小波包的熵值 fbspwavf B样条小波 gauswavf Gaussian小波 get 获取对象属性值 idwt 单尺度一维离散小波逆变换 idwt2 单尺度二维离散小波逆变换 ind2depo 将索引结点形式转化成深度—位置结点形式*intwave 积分小波数 isnode 判断结点是否存在 istnode 判断结点是否是终结点并返回排列值 iswt 一维逆SWT(Stationary Wavelet Transform)变换iswt2 二维逆SWT变换 leaves Determine terminal nodes mexihat 墨西哥帽小波 meyer Meyer小波 meyeraux Meyer小波辅助函数 morlet Morlet小波 nodease 计算上溯结点 nodedesc 计算下溯结点(子结点)

基于MATLAB的(小波)图像处理

基于MATLAB的(小波)图像处理 姓名:宋富冉 学号:P1******* 院系:电子信息工程学院 专业:电子与通信工程 日期:2015年11月7日

目录 摘要 (3) 第一章初期准备 1.1软件知识储备及学习 (4) 1.2 MATLAB操作平台安装及应用 (4) 1.3操作函数功能及调试 (5) 第二章图像准备 2.1图像采集 (6) 2.2 图像选择和保存 (6) 第三章程序设计及实现 3.1 软件编程调试 (7) 3.2 实现及优化程序 (11) 第四章完成任务报告 4.1报告书写 (12) 4.2总结 (12) 附录 (13)

摘要 本报告主要阐述有关于MABLAT在图像处理方面实际应用中的 六个方面的问题,分别涉及图像的读取、图像添加噪声、利用小波 函数对图像进行分割、分割后图像的重构、图像去除噪声、将程序 处理过程中所得各种图像确定存储格式并保存到指定的磁盘及命名。最终得到预期任务的要求,完成任务。 关键词:图像读取,图像加噪,图像去噪,图像重构,图像保存

第一章初期准备 1.1软件知识储备及学习 由于本人从未学习过MATLAB这门课程及其编程语言,对其一无所知,在之前的学习过程中,比较多的是应用C语言进行一些简单的及较复杂的任务编程。因此,接到任务之日起,本人就开始学习储备有关于此方面的软件知识,并逐步学习了解它的奥妙所在。 首先,是漫无目的的到图书馆查找有关于此类的各种书籍,并上网搜索各类处理程序和文档,以期寻求到刚好符合此次作业任务要求的完整程序设计及源代码。结果是可想而知的,并没有完全吻合的程序与代码。其次,在以上的查找翻看过程中,本人接触到了很多与此任务相关相通的程序设计和处理函数的功能及应用知识,受其启发,自我总结,将实现本任务所要用到的功能函数一一搜集了起来,初步了解了本任务如何开启。 1.2 MATLAB操作平台安装及应用 通过前期的理论准备,下一步就要开始上机实际操作和仿真各个函数在实际应用中的效果。第一步,就是寻求MATLAB操作平台的安装包或安装程序,在自己的桌面上把它装起来,以便后面随时随地使用操作,也为后期更深入的学习此门语言而准备好最基本的学习工具,从而为以后完全掌握此门语言工具打下基础。第二步,就是对本平台的安装和使用,由于此平台有中英文两个版本,于是这对我本人又是一种考验,由于英语专业词汇并不完全过关,对操作菜单中多个名词词组的用意并

图像处理之霍夫变换

图像处理之霍夫变换(直线检测算法) 霍夫变换是图像变换中的经典手段之一,主要用来从图像中分离出具有某种相同特征的几何 形状(如,直线,圆等)。霍夫变换寻找直线与圆的方法相比与其它方法可以更好的减少噪 声干扰。经典的霍夫变换常用来检测直线,圆,椭圆等。 霍夫变换算法思想: 以直线检测为例,每个像素坐标点经过变换都变成都直线特质有贡献的统一度量,一个简单 的例子如下:一条直线在图像中是一系列离散点的集合,通过一个直线的离散极坐标公式, 可以表达出直线的离散点几何等式如下: X *cos(theta) + y * sin(theta) = r 其中角度theta指r与X轴之间的夹角,r为 到直线几何垂 直距离。任何在直线上点,x, y都可以表达,其中r,theta是常量。该公式图形表示如下: 然而在实现的图像处理领域,图像的像素坐标P(x, y)是已知的,而r, theta则是我们要寻找 的变量。如果我们能绘制每个(r, theta)值根据像素点坐标P(x, y)值的话,那么就从图像笛卡

尔坐标系统转换到极坐标霍夫空间系统,这种从点到曲线的变换称为直线的霍夫变换。变换 通过量化霍夫参数空间为有限个值间隔等分或者累加格子。当霍夫变换算法开始,每个像素 坐标点P(x, y)被转换到(r, theta)的曲线点上面,累加到对应的格子数据点,当一个波峰出现 时候,说明有直线存在。同样的原理,我们可以用来检测圆,只是对于圆的参数方程变为如 下等式: (x –a ) ^2 + (y-b) ^ 2 = r^2其中(a, b)为圆的中心点坐标,r圆的半径。这样霍夫的参数空间就 变成一个三维参数空间。给定圆半径转为二维霍夫参数空间,变换相对简单,也比较常用。 编程思路解析: 1. 读取一幅带处理二值图像,最好背景为黑色。 2. 取得源像素数据 3. 根据直线的霍夫变换公式完成霍夫变换,预览霍夫空间结果 4. 寻找最大霍夫值,设置阈值,反变换到图像RGB值空间(程序难点之一) 5. 越界处理,显示霍夫变换处理以后的图像 关键代码解析: 直线的变换角度为[0 ~ PI]之间,设置等份为500为PI/500,同时根据参数直线参数方程的取值 范围为[-r, r]有如下霍夫参数定义: [java]view plaincopy 1.// prepare for hough transform 2.int centerX = width / 2; 3.int centerY = height / 2;

基于MATLAB的小波变换在信号分析中应用的实现

基于MATLAB的小波变换在信号分析中应用的实现 院系:应用技术学院 专业:电子信息工程 姓名:李成云 指导教师单位:应用技术学院 指导教师姓名:王庆平 指导教师职称:讲师 二零一一年六月

The application of wavelet transform based on MTLAB in signal analysis Faculty:Application and Technology Institute Profession:Electronic information engeering Name:Li Chengyun Tutor’s Unit:Application and Technology Institute Tutor:Wang Qingping Tutor’s Title:Lecturer June 2011

第 I 页 目录 摘要 (1) ABSTRACT (2) 前言 (3) 第1章 绪论 (4) 1.1 本文的研究背景意义 (4) 1.2 国内外研究现状 (5) 1.3 本文的研究内容 (7) 第2章 MATLAB 简介 (8) 2.1 MATLAB 的概况 (8) 2.2 MATLAB6.1 的功能 (8) 2.3 MATLAB 的主要组成部分 (9) 2.4 MATLAB 的语言特点 (10) 第3章 基本理论 (12) 3.1 从傅里叶变换到小波变换 (12) 3.1.1 傅里叶变换 (12) 3.1.2 短时傅里叶变换 (13) 3.1.3 小波变换 (14) 3.2 连续小波变换 (15) 3.3 离散小波变换 (17) 3.4 小波包分析 (18) 3.5 多分辨率分析与M ALLAT 算法 (19) 3.5.1 多分辨率分析 (19) 3.5.2 Mallat 算法 (19) 3.6 本章小结 (20) 第4章 小波阈值法图像去噪 (21) 4.1 图像去噪 (21) 4.1.1 邻域平均法 (22) 4.1.2 中值滤波法 (24) 4.2 小波阈值去噪 (27) 4.2.1 阈值去噪原理 (28) 4.2.2 选取阈值函数 ................................................ 28 4.2.3 几种阈值选取方法 .. (29)

图像处理之霍夫变换圆检测算法

图像处理之霍夫变换圆检测算法 一:霍夫变换检测圆的数学原理 根据极坐标,圆上任意一点的坐标可以表示为如上形式, 所以对于任意一个圆, 假设中心像素点p(x0, y0)像素点已知, 圆半径已知,则旋转360由极坐标方程可以得到每个点上得坐标同样,如果只是知道图像上像素点, 圆半径,旋转360°则中心点处的坐标值必定最强.这正是霍夫变换检测圆的数学原理. 二:算法流程 该算法大致可以分为以下几个步骤 三:运行效果

图像从空间坐标变换到极坐标效果, 最亮一点为圆心. 图像从极坐标变换回到空间坐标,检测结果显示: 四:关键代码解析 个人觉得这次注释已经是非常的详细啦,而且我写的还是中文注释[java]view plaincopy 1./** 2. * 霍夫变换处理 - 检测半径大小符合的圆的个数 3. * 1. 将图像像素从2D空间坐标转换到极坐标空间 4. * 2. 在极坐标空间中归一化各个点强度,使之在0?255之间 5. * 3. 根据极坐标的R值与输入参数(圆的半径)相等,寻找2D空间的像素点 6. * 4. 对找出的空间像素点赋予结果颜色(红色) 7. * 5. 返回结果2D空间像素集合 8. * @return int [] 9. */ 10.public int[] process() { 11.

12.// 对于圆的极坐标变换来说,我们需要360度的空间梯度叠加值 13. acc = new int[width * height]; 14.for (int y = 0; y < height; y++) { 15.for (int x = 0; x < width; x++) { 16. acc[y * width + x] = 0; 17. } 18. } 19.int x0, y0; 20.double t; 21.for (int x = 0; x < width; x++) { 22.for (int y = 0; y < height; y++) { 23. 24.if ((input[y * width + x] & 0xff) == 255) { 25. 26.for (int theta = 0; theta < 360; theta++) { 27. t = (theta * 3.14159265) / 180; // 角度值0 ~ 2*PI 28. x0 = (int) Math.round(x - r * Math.cos(t)); 29. y0 = (int) Math.round(y - r * Math.sin(t)); 30.if (x0 < width && x0 > 0 && y0 < height && y0 > 0) { 31. acc[x0 + (y0 * width)] += 1; 32. } 33. } 34. } 35. } 36. } 37. 38.// now normalise to 255 and put in format for a pixel array 39.int max = 0; 40. 41.// Find max acc value 42.for (int x = 0; x < width; x++) { 43.for (int y = 0; y < height; y++) { 44. 45.if (acc[x + (y * width)] > max) { 46. max = acc[x + (y * width)]; 47. } 48. } 49. } 50. 51.// 根据最大值,实现极坐标空间的灰度值归一化处理 52.int value; 53.for (int x = 0; x < width; x++) { 54.for (int y = 0; y < height; y++) {

一个小波变换实例及matlab实现

1、 选择()t ?或?()? ω,使{}()k Z t k ?∈-为一组正交归一基; 2、 求n h 。 1,(),()n n h t t ??-= 或??()(2)/()H ω?ω?ω= 3、 由n h 求n g 。 1(1)n n n g h -=- 或()()i G e H t ωωωπ-= 4、 由n g ,()t ?构成正交小波基函数() t φ 1,()()n n t g t φ?-=∑ 或??()(/2)(/2)G φωω?ω= Haar 小波的构造 1)、选择尺度函数。 101 ()0t t ? ≤≤?=? ?其他 易知(n)t ?-关于n 为一正交归一基。 2)、求n h 1,(),()n n h t t ??- =()2t-n)t dt ??( 其中 1 1(2)220n n t t n ?+? ≤≤?-=?? ?其他 当n=0时, 1 1(2)20t t ?? 0≤≤?=?? ?其他 当n=1时,

1 11(21)20t t ?? ≤≤?-=?? ?其他 故,当n=0,n=1时 1()(2)0n n t t n ?? =0,=1 ??-=? ?其他 当n=0时, ()(2)t t n ???-1 120t ? 0≤≤?=?? ?其他 当n=1时, ()(2)t t n ???-1 1120t ? ≤≤?=?? ?其他 故 n h ()2t-n)t dt ?? (1/0n n ?=0,=1 ?=? ??其他 3)、求n g 。 11/0 (1)1/10n n n n g h n -?=??=-=-=?? ??其他 4)、求()t φ。 1,()()n n t g t φ?-=∑ =0-1,011,1()()g t g t ??-+ (2)(21)t t - =1 102 111 20t t ? ≤≤???- ≤≤?? ??? 其他

霍夫变换检测直线圆流程+

Hough 变换直线检测是直接按照hough 变换的定义来进行的, 算法如下: 1) 对原始的图像进行二值化, 假设0代表背景, 1代表物体特征点; 2) 在参数空间ρ, θ里建立一个累加的数组[],H ρθ , 并且置数组H 中的每 一个元素的初值都为零; 对于二值图像中每个以1 表示的点(,)x y , 我们让θ取遍θ轴上所有可能的值, 并根据式(3-3)计算对应的ρ; 再根据ρ与θ的值(假设都已经取整) 对数组进行累加计算([][],,1H H ρθρθ=+) ; 3) 然后对数组[],H ρθ 进行局部的峰值检测, 得到被检测直线的参数ρ和θ。上述的算法受直线中的间隙与噪声的影响较小, 鲁棒性比较强,但其具有运算量太大的缺点, 极端情况下, 它的运算复杂度为3 ()n ο 。 传统随机hough 变换的具体算法如下: (a)构造一个边缘点集D , 然后初始化参数单元集P NULL = ,循环的次数K = 0 ; (b)从D 中随机的选取3 个点; (c)由这3个点解特征的参数p ; (d)在P 中寻找一个c p ,使它满足p c p δ-≤,如果找到则转(f);否则就转(e); (e)将p 插入到P 中,其对应的计数值变为1,转(g); (f)将c p 所对应的计数的值加1,如果小于指定阈值t N ,转(g);否则就转(h); (g)1k k =+;如果 max k k > ,则结束;否则,转(b); (h)c p 是候选圆的特征参数,如果该参数对应圆上的边缘的点数min pc M M >,转(i); (i) c p 是真实的圆参数,把落在参数c p 对应的特征上的点从D 中去除,然 后判断已经检测到的圆的数目是否已达到规定的数目,若是就结束,否 则的话重置P NULL =,0K =,转(b)。 其中max k 是规定的检测一个圆的过程中所允许采样的最大的循环次数。min M 为圆所必需的最小的点数, 通常设为2r πλ,其中λ是一个固定系数,r 是候选圆的半径。P 是参数空间中的参数单元的集合,它是一个动态的链表结构。pc M 是图像空间中落到了候选圆上的点数。

小波变换图像去噪MATLAB实现

基于小波图像去噪的MATLAB 实现 一、 论文背景 数字图像处理(Digital Image Processing ,DIP)是指用计算机辅助技术对图像信号进行处理的过程。数字图像处理最早出现于 20世纪50年代,随着过去几十年来计算机、网络技术和通信的快速发展,为信号处理这个学科领域的发展奠定了基础,使得DIP 技术成为信息技术中最重要的学科分支之一。在现实生活中,DIP 应用十分广泛,医疗、艺术、军事、航天等图像处理影响着人类生活和工作的各个方面。 然而,在图像的采集、获取、编码和传输的过程中,都存在不同程度被各种噪声所“污染”的现象。如果图像被污染得比较严重,噪声会变成可见的颗粒形状,导致图像质量的严重下降。根据研究表明,当一图像信噪比(SNR)低于14.2dB 时,图像分割的误检率就高于0.5%,而参数估计的误差高于0.6%。通过一些卓有成效的噪声处理技术后,尽可能地去除图像噪声,我们在从图像中获取信息时就更容易,有利于进一步的对图像进行如特征提取、信号检测和图像压缩等处理。小波变换处理应用于图像去噪外,在其他图像处理领域都有着十分广泛的应用。本论文以小波变换作为分析工具处理图像噪声,研究数字图像的滤波去噪问题,以提高图像质量。 二、 课题原理 1.小波基本原理 在数学上,小波定义为对给定函数局部化的新领域,小波可由一个定义在有限区域的函数()x ψ来构造,()x ψ称为母小波,(mother wavelet )或者叫做基本小波。一组小波基函数,()}{,x b a ψ,可以通过缩放和平移基本小波 来生成:

())(1 ,a b x a x b a -ψ=ψ (1) 其中,a 为进行缩放的缩放参数,反映特定基函数的宽度,b 为进行平移的平移参数,指定沿x 轴平移的位置。当a=2j 和b=ia 的情况下,一维小波基函数序列定义为: ()() 1222,-ψ=ψ--x x j j j i (2) 其中,i 为平移参数,j 为缩放因子,函数f (x )以小波()x ψ为基的连续小波变换定义为函数f (x )和()x b a ,ψ的积: ( )dx a b x a x f f x W b a b a )(1)(,,,-ψ= ψ=?+∞∞- (3) 与时域函数对应,在频域上则有: ())(,ωωa e a x j b a ψ=ψ- (4) 可以看出,当|a|减小时,时域宽度减小,而频域宽度增大,而且()x b a ,ψ的窗口中心向|ω|增大方向移动。这说明连续小波的局部是变化的,在高频时分辨率高,在低频时分辨率低,这便是它优于经典傅里叶变换的地方。总体说来,小波变换具有更好的时频窗口特性。 2. 图像去噪综述 所谓噪声,就是指妨碍人的视觉或相关传感器对图像信息进行理解或分析的各种因素。通常噪声是不可预测的随机信号。由于噪声影响图像的输入、采集、处理以及输出的各个环节,尤其是图像输入、采集中的噪声必然影响图像处理全过程乃至最终结果,因此抑制噪声已成为图像处理中极其重要的一个步骤。 依据噪声对图像的影响,可将噪声分为加性噪声和乘性噪声两大类。由于乘性噪声可以通过变换当加性噪声来处理,因此我们一般重点研究加性噪声。设

根据matlab的霍夫变换

基于matlab的霍夫变换 一、简单介绍 Hough变换是图像处理中从图像中识别几何形状的基本方法之一。Hough变换的基本原理在于利用点与线的对偶性,将原始图像空间的给定的曲线通过曲线表达形式变为参数空间的一个点。这样就把原始图像中给定曲线的检测问题转化为寻找参数空间中的峰值问题。也即把检测整体特性转化为检测局部特性。比如直线、椭圆、圆、弧线等。 二、基本原理 Hough变换的基本原理在于,利用点与线的对偶性,将图像空间的线条变为参数空间的聚集点,从而检测给定图像是否存在给定性质的曲线(圆的方程为:(x-a)^2+(y-b)^2=r^2,通过Hough变换,将图像空间对应到参数空间)。 霍夫变换是图像处理中从图像中识别几何形状的基本方法之一,应用很广泛,也有很多改进算法。最基本的霍夫变换是从黑白图像中检测直线(线段)。 三、hough变换检测直线 设已知一黑白图像上画了一条直线,要求出这条直线所在的位置。我们知道,直线的方程可以用y=k*x+b 来表示,其中k和b是参数,分别是斜率和截距。过某一点(x0,y0)的所有直线的参数都会满足方程y0=kx0+b。即点 (x0,y0)确定了一族直线。方程y0=kx0+b在参数k--b平面上是一条直线,(你也可以是方程b=-x0*k+y0对应的直线)。如下图1所示: 从图1中可看出,x-y坐标和k-b坐标有点----线的对偶性。x-y坐标中的点P1、P2对应于k-b坐标中的L1、L2;而k-b坐标中的点P0对应于x-y坐标中的线L0 。 这样,图像x--y平面上的一个前景像素点就对应到参数平面上的一条直线。我们举个例子说明解决前面那个问题的原理。设图像上的直线是y=x, 我

利用matlab进行图像检测--直线提取

H a r b i n I n s t i t u t e o f T e c h n o l o g y 图像工程导论 课程名称:图像工程导论 设计题目:《图像检测:直线提取》院系: 班级: 设计者: 学号: 哈尔滨工业大学教务处 图像工程导论任务书 二〇一五年柒月哈尔滨工业大学

一、课题详细描述: 提取图像中所有长度>8,<80像素的水平、垂直和对角直线。 二、课题设计思路: 读取图片后将其转化为灰度图后记为二值图像,对其进行边缘检测后通过霍夫变换检测直线,并将符合像素要求的水平、垂直和对角直线绘制在屏幕上。 三、代码清单及注释 x=imread('D:2.jpg');%读取图片 BW=rgb2gray(x);%转化为灰度图 imshow(BW); thresh=[0.01,0.17]; sigma=2; %定义高斯参数 f=edge(double(BW),'canny',thresh,sigma);%canny边缘检测 figure,imshow(f); [H,T,R]=hough(f,'ThetaResolution',89,'RhoResolution',10); %霍夫变换 P=houghpeaks(H,400,'Threshold',80,'NHoodSize',[1,1]); lines=houghlines(f,T,R,P,'FillGap',1,'Minlength',8); for k = 1:length(lines) xy = [lines(k).point1; lines(k).point2]; len = norm(lines(k).point1 - lines(k).point2); Len(k)=len if ( len > 8& len < 80) %限定像素范围 plot(xy(:,1),-xy(:,2),'LineWidth',2,'color','Red'); %绘制图像 hold on;

霍夫变换算子的分析与改进

第一章绪论 Hough变换(Hough Transformation,HT) 是直线检测中常用的方法之一,是由PaulHough在1962年提出的。它所实现的是一种从图像空间到参数空间的映射关系。Hough变换将图像空间中复杂的边缘特征信息映射为参数空间中的聚类检测问题。Duda和Hart于1972年首次用该方法提取直线。他们发现,当许多点的分布近似为一条直线时,这条直线可以用Hough变换的方法确定。经典HT常被用于直线、线段、圆和椭圆的检测。广义霍夫变换(Generalized Hough Transformation,GHT)可以推广至检测任意形状的图形。 Hough变换的突出优点就是将图像空间中较为困难的全局检测问题转化为参数空间中相对容易解决的局部峰值检测问题。也就是说,通过Hough变换之后,工作的重点就是如何更准确地、有效地检测出参数空间中共同投票区域的投票积累峰值。当参数空间证据积累完成以后,通常采用给定阈值的方法确定备选估计参数。但是,由于Hough变换自身的特点,使得提取出来的备选估计参数远远多于真实参数的个数,而且有好多备选估计参数来源于同一直线上数据点的投票积累。若直接以备选估计参数作为检测到的直线参数输出直线,则是不符合实际、不正确的。所以,在确定最终参数时,需要对备选估计参数做一定的处理,从而保证检测的准确性。Hough 变换方法还具有明了的几何解析性、一定的抗干扰能力和易于实现并行处理点.Hough变换是从图像中识别几何形状的基本方法之一,因此有着广泛的应用。例如:基于Hough变换的航片框标定位算法,霍夫变换在潮位相关分析中的应用等。 第二章 Hough变换 2. 1 基本原理 Hough变换的基本原理是将影像空间中的曲线(包括直线)变换到参数空间中,通过检测参数空间中的极值点,确定出该曲线的描

基于机器视觉的工件智能抓取技术研究

基于机器视觉的工业机器人工件搬运技术研究 1.1研究背景 自 19 世纪 60 年代问世以来,工业机器人不断发展和完善,现已得到广泛应用,机器人产业也逐渐成熟[]1。目前,全世界已拥有 100 多万台工业机器人广泛应用在焊接、搬运、装配、喷涂、修边、拾料、包装、堆垛和上下料等单调或复杂的作业中,为企业节约了大量的劳动成本,大大提高了劳动生产率。工业机器人是面向工业领域的多关节机械手或多自由度的机器人,它在稳定产品品质、提高生产效率和改善劳动条件等方面有着十分重要的作用,它的应用能够使企业大大缩短新产品的换产周期和节约劳动成本,从而提高了产品的市场竞争力[]23-。 随着当代工业革命深入发展,工业生产日益趋向自动化,工业机器人技术也正朝着智能、柔性的方向发展。许多发达国家对于智能工业机器人的研究都较为重视,我国也早已将其纳入国家高科技发展规划。国家层面的重视也必将给工业机器人技术带来新的跨越式发展,机器人的发展也必将对社会经济和生产力的发产生更加深远的影响 1.2 研究目的和意义 对于工作在自动化生产线上或柔性制造系统中的工业机器人来说,其完成最多的一类操作是“抓取—放置”动作,比如流水线上的工件搬运、装配以及各工位之间的工件转移和上下料。机器人要完成这类操作是经过复杂计算的:首先,机器人必须知道怎么抓,其次机器人应该知道怎么放;同时在这个过程还要伴随着机器人运动学分析的过程。传统的工业机器人完成这类操作,必须经过精确的逐点示教后,才能一步一步的按照固定程序执行。在这个过程中,工件相对于机器人的初始位姿(位置和姿态)和终止位姿是事先规定的,但很多情况下,特别是流水线场合,工件的位姿常常是不固定的。这就导致实际目标工件的位姿与理想工件位姿总是有偏差的,这种偏差哪怕很小都会导致机器人操作任务的失败。这种由于环境的变化而导致机器人不能很好地完成任务的情况极大地限制了机器人的实际应用。这就要求工业机器人具备一定的环境适应能力,即工业机器人智能化。智能工业机器人的智能特征在于它具有与外部世界、对象、环境和人相互协调的工作机能,具体表现在机器视觉、接近

基于Matlab的离散小波变换

基于Matlab的离散小波变换 lyqmath https://www.doczj.com/doc/e916776243.html,/lyqmath 目录 基于Matlab的离散小波变换 (1) 简介 (1) 实例 (2) 结果 (2) 总结 (2) 简介 在数字图像处理中,需要将连续的小波及其小波变换离散化。一般计算机实现中使用二进制离散处理,将经过这种离散化的小波及其相应的小波变换成为离散小波变换(简称DWT)。实际上,离散小波变换是对连续小波变换的尺度、位移按照2的幂次进行离散化得到的,所以也称之为二进制小波变换。 虽然经典的傅里叶变换可以反映出信号的整体内涵,但表现形式往往不够直观,并且噪声会使得信号频谱复杂化。在信号处理领域一直都是使用一族带通滤波器将信号分解为不同频率分量,即将信号f(x)送到带通滤波器族Hi(x)中。 小波分解的意义就在于能够在不同尺度上对信号进行分解,而且对不同尺度的选择可以根据不同的目标来确定。 对于许多信号,低频成分相当重要,它常常蕴含着信号的特征,而高频成分则给出信号的细节或差别。人的话音如果去掉高频成分,听起来与以前可能不同,但仍能知道所说的内容;如果去掉足够的低频成分,则听到的是一些没有意义的声音。在小波分析中经常用到近似与细节。近似表示信号的高尺度,即低频信息;细节表示信号的高尺度,即高频信息。因此,原始信号通过两个相互滤波器产生两个信号。 通过不断的分解过程,将近似信号连续分解,就可以将信号分解成许多低分辨率成分。理论上分解可以无限制的进行下去,但事实上,分解可以进行到细节(高频)只包含单个样本为止。因此,在实际应用中,一般依据信号的特征或者合适的标准来选择适当的分解层数。

霍夫变换

霍夫变换

标准霍夫变换 1.C++: void HoughLines(InputArray image, OutputArray lines, double rho, double theta, int threshold, double srn=0, double stn=0 ) 第一个参数,InputArray类型的image,输入图像,即源图像,需为8位的单通道二进制图像,可以将任意的源图载入进来后由函数修改成此格式后,再填在这里。 第二个参数,InputArray类型的lines,经过调用HoughLines函数后储存了霍夫线变换检测到线条的输出矢量。每一条线由具有两个元素的矢量表示,其中,是离坐标原点((0,0)(也就是图像的左上角)的距离。是弧度线条旋转角度(0~垂直线,π/2~水平线)。 第三个参数,double类型的rho,以像素为单位的距离精度。另一种形容方式是直线搜索时的进步尺寸的单位半径。PS:Latex中/rho就表示。 第四个参数,double类型的theta,以弧度为单位的角度精度。另一种形容方式是直线搜索时的进步尺寸的单位角度。 第五个参数,int类型的threshold,累加平面的阈值参数,即识别某部分为图中的一条直线时它在累加平面中必须达到的值。大于阈值threshold的线段才可以被检测通过并返回到结果中。 第六个参数,double类型的srn,有默认值0。对于多尺度的霍夫变换,这是第三个参数进步尺寸rho的除数距离。粗略的累加器进步尺寸直接是第三个参数rho,而精确的累加器进步尺寸为rho/srn。 第七个参数,double类型的stn,有默认值0,对于多尺度霍夫变换,srn表示第四个参数进步尺寸的单位角度theta的除数距离。且如果srn和stn同时为0,

基于matlab的脑电信号处理

航空航天大学基于Matlab的脑电信号处理 陆想想 专业领域生物医学工程 课程名称数字信号处理

二О一三年四月

摘要:脑电信号属于非平稳随机信号,且易受到各种噪声干扰。本文基于Matlab仿真系统,主要研究了小波变换在脑电信号处理方面的应用,包括小波变换自动阈值去噪处理、强制去噪处理,以α波为例,提取小波分解得到的各层频率段的信号,并做了一定的分析和评价。关键词:脑电信号;小波变换;去噪重构;频谱分析 0 引言 脑电信号EEG(Electroencephalograph)是人体一种基本生理信号,蕴涵着丰富的生理、心理及病理信息,脑电信号的分析及处理无论是在临床上对一些脑疾病的诊断和治疗,还是在脑认知科学研究领域都是十分重要的。由于脑电信号的非平稳性且极易受到各种噪声干扰,特别是工频干扰。因此消除原始脑电数据中的噪声,更好地获取反映大脑活动和状态的有用信息是进行脑电分析的一个重要前提。本文的研究目的是利用脑电采集仪器获得的脑电信号,利用Fourier变换、小波变换等方法对脑电信号进行分析处理,以提取脑电信号α波的“梭形”节律,并对脑电信号进行功率谱分析和去噪重构。 1 实验原理和方法 1.1实验原理 1.1.1脑电信号 根据频率和振幅的不同,可以将脑电波分为4种基本类型[1],即δ波、θ波、α波、β波。4种波形的起源和功能也不相同,如图1所示。 图1 脑电图的四种基本波形 α波的频率为8~13Hz,振幅为为20~100μV,它是节律性脑电波中最明显的波,整个皮层均可产生α波。正常成人在清醒、安静、闭目时,波幅呈现有小变大,再由大变小,如此反复进行,形成所谓α节律的“梭形”。每一“梭形”持续时间约为1~2s。当被试者睁眼、警觉、思考问题或接受其他刺激时,α波立即消失而代之以快波,这种现象称之为

霍夫变换+最小二乘法 直线检测

霍夫变换中直线拟合的最小二乘法 ichriZ 1.基本概念 (1)霍夫变换 霍夫变换(Hough Transform) 是图像处理中从图像中识别几何形状的基本方法之一,应用很广泛,也有很多改进算法。最基本的霍夫变换是从黑白图像中检测直线或线段。 (2)最小二乘法 曲线拟合方法的一种,通过最小化误差的平方和寻找数据的最佳函数匹配。 2.适用情况 霍夫变换是基于统计的方法,能将图像中的噪声或干扰点的影响消除,但其结果存在精度不够与直线有效区间不易控制的问题;最小二乘法是直线拟合的有效方法,但直接用于拟合时易受干扰点或噪声点影响。在检测图像中的直线段时,先利用霍夫变换消除无效点的影响,再结合最小二乘法法进行拟合,可以提高检测效果。 3.霍夫变换原理与实现方法 (一)霍夫变换原理 在平面直角坐标系中一条直线,任取其上一点,有 表示参数平面中的一条直线。再取上另一点则有 表示参数平面中的一条直线。与相交于一点,对应于坐标系 中直线 即:同一直线上的不同的点在对应的参数平面中对应不同的直线,但都交于同一点,所以可以通过坐标系中的交点来寻找坐标系中的直线。当坐标系中的直 线数量为R时,坐标系中对应R个峰值交点,它们对应于坐标系中的R 条直线。 此种方法不能够表示这类直线,实际中常将原有直线表示为参数方程 此直线上的点对应坐标系中的一族三角函数曲线,它们在有效区间内交于一点

,对应于坐标系中的。下图是一个具体例子: 交点坐标 (二)最小二乘法原理 对于给定数据,要求在某个函数类 中寻求一个函数 ,使 本文中讨论的是直线的最小二乘法,故均取一次多项式。 设具有如下格式 霍夫变换—>

相关主题
文本预览
相关文档 最新文档