美文网首页
Hough 变换

Hough 变换

作者: 顽皮的石头7788121 | 来源:发表于2018-11-06 15:47 被阅读0次

        Hough变换是一种在图像中寻找直线,圆及其它简单形状的方法。当我们对图像进行边缘检测之后,可用Hough变换识别图像中的简单形状。如(眼科图像中的canny算子和hough 变换)。

         Hough变换的基本原理在于,利用点与线的对偶性,将图像空间的线条变为参数空间的聚集点,从而检测给定图像是否存在给定性质的曲线。

        (1)对于直线的检测:

            设已知一黑白图像上画了一条直线,要求出这条直线所在的位置。我们知道,直线的方程可以用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(22)。可以求出,过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)。这个性质就为我们解决问题提供了方法。Hough变换通过从直角坐标系到极坐标系的转换,将直角坐标系中的一条"直线",转换为极坐标系上的一个"点",落在这条"直线"上的像素点越多,这个极坐标中"点"的权越重,最终通过分析各个"点"的权重(局部最大值),获取重要线段。

    (2)对于圆形的检测

            我们要从一副图像中检测出半径以知的圆形来。这个问题比前一个还要直观。我们可以取和图像平面一样的参数平面,以图像上每一个前景点为圆心,以已知的半径在参数平面上画圆,并把结果进行累加。最后找出参数平面上的峰值点,这个位置就对应了图像上的圆心。在这个问题里,图像平面上的每一点对应到参数平面上的一个圆。

            假如我们不知道半径的值,而要找出图像上的圆来。这样,一个办法是把参数平面扩大称为三维空间。就是说,参数空间变为x--y--R三维,对应圆的圆心和半径。图像平面上的每一点就对应于参数空间中每个半径下的一个圆,这实际上是一个圆锥。最后当然还是找参数空间中的峰值点。不过,这个方法显然需要大量的内存,运行速度也会是很大问题。因此眼科那个实际上是设置了半径的阈值的。

如图为hough变换的效果

Hough变换效果图

相关文章

  • Hough 变换

    Hough变换是一种在图像中寻找直线,圆及其它简单形状的方法。当我们对图像进行边缘检测之后,可用Hough变换识...

  • Hough变换

    最近在看图像处理的东西,为了检测直线,可以用的一个神奇的东西---Hough变换。 一条直线可以用如下的方程来表示...

  • OpenCV之Hough变换检测猫眼

    Hough变换 Hough变换是图像处理中的一种特征提取技术,它通过一种投票算法检测具有特定形状的物体。霍夫变换于...

  • 霍夫变换

    霍夫变换——直线   Hough Line Transform用来做直线检测,前提是已经做了边缘检测。  霍夫变换...

  • hough变换检测的matlab程序

    Matlab实现Hough变换检测图像中的直线 https://blog.csdn.net/u010839382/...

  • opencv+python -- 霍夫直线检测

    1.霍夫变换(Hough Transform) 霍夫变换是图像处理中从图像中识别几何形状的基本方法之一,应用很广泛...

  • 椭圆检测

    Hough变换检测椭圆 附带matlab与opencv代码 QT+opencv学习笔记(5)——霍夫直线检测、圆检...

  • Opencv第五课--直线检测和圆检测

    直线检测 直线检测通常会用到Hough变换,原理可参考:https://www.cnblogs.com/AndyJ...

  • GEE霍夫变换(hough transform)

    霍夫变换 主要功能 使用霍夫变换,检测直线特征 代码 步骤分析 创建ee对象,获取LC08数据 计算NDVI ca...

  • 霍夫变换

    一、霍夫直线检测 霍夫变换(Hough Transfrom),是1972年提出的,最开始就是用来在图像中检测直线,...

网友评论

      本文标题:Hough 变换

      本文链接:https://www.haomeiwen.com/subject/txyuxqtx.html