霍夫变换函数.doc

霍夫变换函数.doc

ID:53676971

大小:217.00 KB

页数:9页

时间:2020-04-05

霍夫变换函数.doc_第1页
霍夫变换函数.doc_第2页
霍夫变换函数.doc_第3页
霍夫变换函数.doc_第4页
霍夫变换函数.doc_第5页
资源描述:

《霍夫变换函数.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、霍夫变换函数:hough;houghpeaks;houghlines(1) (2014-03-3111:50:36)转载▼分类: matlab图像处理工具箱提供了三个与霍夫变换有关的函数。函数hough实现了前面讨论的概念,函数houghpeaks寻找霍夫变换的峰值(累加单元的高计数),函数houghlines以来自其他两个函数的结果为基础在原始图像中提取线段。1.函数hough   函数hough支持任意的默认语法:[H, theta, rho] = hough(f) 还支持完整的语法形式:[H, t

2、heta, rho] = hough(f, 'ThetaRes', val1, 'RhoRes', val2)    其中,H是霍夫变换矩阵,theta(以度计)和rho是ρ和θ值向量,在这些值上产生霍夫变换。输入f是二值图像,val1是0到90的标量,指定了沿θ轴霍夫变换的间距(默认是1),val2是0例10.5  霍夫变换的说明在这个例子中,我们用简单的合成图像来说明hough函数的机理:>> f = zeros(101, 101); >> f(1, 1) = 1; f(101, 1) = 1; f

3、(1, 101) = 1; >> f(101, 101) = 1; f(51, 51) = 1; 图10-10(a)显示了我们的测试图像,下面使用默认值计算并显示霍夫变换的结果:>> H = hough(f) >> Imshow(H,[])    图10-10(b)显示了结果,以熟悉的方法使用imshow函数来显示。在带有标度轴的较大图中显现霍夫变换常常更有用。   在接下来的代码片段中,我们调用带有三个参数的hough函数。然后把向量theta和rho作为附加输入参量传递给imshow,从而控制水平轴

4、和垂直轴的标度。我们还要把'InitialMagnification'选项传递给带有值'fit'的imshow函数,因此,整个图像将被强迫在图形窗口中进行装配。axis函数被用来打开轴标记,并使其显示填充图的矩形框。最后,xlabel和ylabel函数(见2.3.1节)用希腊字母LaTeX字体符号在轴上标值:>> [H, theta, rho] = hough(f); >> imshow(H, [], 'XData', theta, 'YData', rho ,'InitialMagnification

5、', 'fit') >> axis on, axis normal >> xlabel('theta'), ylabel('rho')    图10-10(c)显示了标上值之后的结果。三条曲线(直线也可考虑为曲线)在±45°处的交点指出:f中有两组三个共线的点。两条曲线在(ρ,θ)=(0,-90)、(-100,-90)、(0,0)和(100,0)处的交点指出:有4组位于垂直线和水平线上的共线点。2.函数houghpeaks    线检测和连接用的霍夫变换的第一步是用高的计数寻找累加单元(工具箱文本把

6、高的计数单元作为峰值)。因为存在霍夫变换参数空间中的量化和典型图像的边缘并不是很完美的直线这样的事实,霍夫变换的峰值倾向于相比霍夫变换单元更多。函数houghpeaks用任意默认语法来寻找指定的峰值数:peaks = houghpeaks(H, NumPeaks) 或者使用完整的语法形式:peaks = houghpeaks(..., 'Threshold', val1, 'NHoodSize', val2) 其中,"…"指出来自默认语法和peaks的输入是持有峰值行和列坐标的Q×2大小的矩阵。Q的范围

7、是0到NumPeaks,H是霍夫变换矩阵。参数val1是非负的标量,指定了H中的什么值被考虑为峰值;val1可以从0到Inf变化,默认值是0.5*max(H(:))。参数val2是奇整数的两元素矢量,指定量围绕峰值的邻域大小。当鉴别出峰值之后,邻域中的元素被置为0。默认是由最小奇数值组成的两元素矢量大于或等于size(H)/50。这个过程的基本思想是:通过把发现峰值的直接邻域中的霍夫变换单元置0来清理峰值。我们在例10.6中说明函数houghpeaks。3.函数houghlines一旦一组候选的峰值在霍

8、夫变换中被识别出来,如果存在与这些峰值相关的有意义的线段,剩下的就是决定线的起始点和终点。函数houghlines用默认的语法执行这个任务:lines = houghlines(f, theta, rho, peaks) 或者使用完整的语法形式:lines = houghlines(..., 'FillGap', val1, 'MinLength', val2)其中,theta和rho是来自函数hough的输出,peaks是函数houghp

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。