Hough变换提取直线

来源:互联网 发布:轩辕传奇神器数据图 编辑:程序博客网 时间:2024/06/06 02:22

1.霍夫变换是图像处理中的一种特征提取技术,它通过一种投票算法检测具有特定形状的物体。该过程在一个参数空间中通过计算累计结果的局部最大值得到一个符合该特定形状的集合作为霍夫变换结果。经典霍夫变换用来检测图像中的直线,后来霍夫变换扩展到任意形状物体的识别,多为圆和椭圆。

霍夫变换运用两个坐标空间之间的变换将在一个空间中具有相同形状的曲线或直线映射到另一个坐标空间的一个点上形成峰值,从而把检测任意形状的问题转化为统计峰值问题

2.我们来说明Hough变换的定义:

    如下图,直角坐标系中有一条直线l,原点到该直线的垂直距离为ρ,垂线与x轴的夹角为θ,则这条直线是唯一的,且该直线在极坐标系中的方程为:

ρ=xcosθ+ysinθ。

这条直线在极坐标参数空间中表示为一点(ρ,θ),可见极坐标系中一条直线对应极坐标参数空间中某一点(ρ,θ),这种线到点的变换就叫Hough变换。

 在直角坐标系中过任一点(x0,y0)的直线系,如下图。满足 :(1)

从上述直线系满足的表达式我们可以知道,这些直线在极坐标参数空间所对应的点(ρ,θ)构成一条正弦曲线。反之,这条正弦曲线上的某一点对应直角坐标系中过(x0,y0)的一条直线,如下图


看不清,参考https://wenku.baidu.com/view/2e3fd069ddccda38376baf23.html

设平面上有若干点,过每点的直线系分别对应极坐标参数空间上的一条正弦曲线,若这些曲线有共同的交点(ρ0,θ0),则这些点共线,且对应的直线方程为ρ0=xcosθ0+ysinθ0.这就是hough检测直线的原理。


算法:
1)将(ρ,θ)空间量化,得到二维矩阵Mρ,θMρ,θ)是一个累加器,初始值为0,Mρ,θ)=0.

2)对边界上的每一个点(xi,yi),将θ的所有量化值带入式1,计算出相应的ρ,并将对应累加器加1,Mρ,θ)=Mρ,θ)+1.

3)将全部(xi,yi)处理后,分析Mρ,θ),如果Mρ,θ)>T,就认为存在一条有意义的线段,T是一个剔除虚假或没意义的线段的阈值,由图像先验知识决定.

4)由(xi,yi)和ρ,θ)共同确定图像中的线段,并将断裂部分连接起来。


0 0
原创粉丝点击