soldierwill
对于圆检测,许多研究人员已经运用参数分解和/或圆的一些几何性质,搞出了霍夫变换的变体以减少计算的复杂性。Yuen等人在1990年的论文中已经对圆的识别的集中霍夫变换的技术进行了比较研究。以参数分解为基础的方法通常是先检测圆心,然后确定半径。这样做的特点的其中之一是圆上一点的方向向量经过圆心(Davies, 1987a; Illingworth and Kittler, 1987). 叶等人在1992年的论文中用到一个性质:圆上两点的切线平行,那么这两点就是圆的直径的两个端点。上述方法需要有对干扰因素十分敏感的边缘等级线的梯度的信息(Davies, 1987b). 干扰因素对边的方向的作用通常要比对边的位置的作用大。不使用边缘方向信息的几种途径包括:陈和Siu(1990)提出了基于水平和垂直弦的中分线的快速椭圆检测法。同样,Ho和陈(1995)提出了一种使用全局几何对称性的快速检测圆的算法,通过水平和垂直对称轴计算出圆心。Sheu等人在1997年的论文中,在整个过程中运用了对称轴的信息来计算所有五个参数。 Goneid等人在1997年的论文中使用一维数组创建了弦的中分线法。Davies(1999)研究了一个用于椭圆的快速精确定位的简单的弦的中垂线法。 Ioannou 等人(1999年)的方法是基于垂径定理。Lei和王(1999)发现了对称轴,继而发现了几对交点是圆心的可选值的正交轴。其缺点是图像中的直线会让对称轴的检测更复杂。
方孔金钱
霍夫变换(Hough Transform)是图像处理领域中,从图像中识别几何形状的基本方法之一。主要识别具有某些相同特征的几何形状,例如直线,圆形,本篇博客的目标就是从黑白图像中识别出直线。
翻阅霍夫直线变换的原理时候,橡皮擦觉得原理部分需要先略过,否则很容易在这个地方陷进去,但是问题来了,这个原理略过了,直接应用函数,里面有些参数竟然看不懂。例如极坐标,角度扫描范围,这种函数就属于绕不过去的知识点了,所以本文转移方向,死磕原理,下面的博文将语无伦次的为你展示如何学习原理知识。
因为数学知识的贫乏,所以在学习阶段会涉及到很多基础概念的学习,一起来吧。
首先找到相对官方的资料,打开该 地址
下面是一个数学小白对原理的学习经验。
教材说:众所周知,一条直线在图像二维空间可由两个变量表示。
抱歉,小白还真不知道……即使学习过,这些年也早已经还给老师了。
一开始难道要学习笛卡尔坐标系,不,你低估小白的能力了,我第一个查询的是 θ 读作 西塔 ,是一个希腊字母。
什么是笛卡尔坐标系?
这个比较简单,直角坐标系。
斜率和截距
斜率,亦称“角系数”,表示一条直线相对于横坐标轴的倾斜程度。
一条直线与某平面直角坐标系横坐标轴正半轴方向的夹角的正切值即该直线相对于该坐标系的斜率。
如果直线与 x 轴互相垂直,直角的正切直无穷大,故此直线不存在斜率。 对于一次函数 y=kx+b , k 就是该函数图像的斜率。
在学习的时候,也学到如下内容:
截距:对 x 的截距就是 y=0 时, x 的值,对 y 的截距就是 x=0 时, y 的值, 截距就是直线与坐标轴的交点的横(纵)坐标。 x 截距为 a , y 截距 b ,截距式就是: x/a+y/b=1(a≠0且b≠0) 。
斜率:对于任意函数上任意一点,其斜率等于其切线与 x 轴正方向所成的角,即 k=tanα 。 ax+by+c=0中,k=-a/b 。
什么是极坐标系?
关于极坐标系,打开 百度百科 学习一下即可。
重点学到下面这个结论就行:
找资料的时候,发现一个解释的比较清楚的 博客 ,后续可以继续学习使用。
继续阅读资料,看到如下所示的图,这个图也出现在了很多解释原理的博客里面,但是图下面写了一句话
在这里直接蒙掉了,怎么就表示成极坐标系了?上面这个公式依旧是笛卡尔坐标系表示直线的方式呀,只是把 k 和 b 的值给替换掉了。
为何是这样的,具体原因可以参照下图。
继续寻找关于霍夫变换的资料,找到一个新的概念 霍夫空间 。
在笛卡尔坐标系中,一条直线可以用公式 表示,其中 k 和 b 是参数,表示的是斜率和截距。
接下来将方程改写为 ,这时就建立了一个基于 k - b 的笛卡尔坐标系。
此时这个新的方程在 k - b 坐标系也有一个新的直线。
你可以在纸上画出这两个方程对应的线和点,如下图所示即可。
新的 k - b 坐标系就叫做霍夫空间,这时得到一个结论,图像空间 x - y 中的点 对应了 霍夫空间 k - b 中的一条直线 ,即图像空间的点与霍夫空间的直线发生了对应关系。
如果在图像空间 x - y 中在增加一个点 ,那相应的该点在霍夫空间也会产生相同的点与线的对应关系,并且 A 点与 B 点产生的直线会在霍夫空间相交于一个点。而这个点的坐标值 就是直线 AB 的参数。
如果到这里你掌握了,这个性质就为我们解决直线检测提供了方法,只需要把图像空间的直线对应到霍夫空间的点,然后统计交点就可以达到目的,例如图像空间中有 3 条直线,那对应到霍夫空间就会有 3 个峰值点。
遍历图像空间中的所有点,将点转换到霍夫空间,形成大量直线,然后统计出直线交会的点,每个点的坐标都是图像空间直线方程参数,这时就能得到图像空间的直线了。
上述的内容没有问题,但是存在一种情况是,当直线趋近于垂直时,斜率 k 会趋近于无穷大,这时就没有办法转换了,解决办法是使用法线来表示直线。
上文提及的斜截式如下:
通过第二个公式,可以得到下述公式:
此时,我们可以带入一些数值进行转换。
图像空间有如下的几个点:
转换后的函数,都可以在霍夫空间 θ - ρ (横坐标是 θ ,纵坐标是 ρ )进行表示。
原理这时就比较清晰了:
除了一些数学知识以外,经典的博客我们也有必要记录一下,方便后面学习的时候,进行复盘。
本部分用于记录本文中提及的相关数学原理,后续还要逐步埋坑。
今天涉及了一点点数学知识,能力限制,大家一起学习,有错误的地方,可以在评论区指出,不胜感激。
希望今天的 1 个小时(今天内容有点多,不一定可以看完),你有所收获,我们下篇博客见~
相关阅读
技术专栏
逗趣程序员
你的开题报告有什么要求?开题报告是需要多少字?你可以告诉我具体的排版格式要求,希望可以帮到你,祝开题报告选题通过顺利。1、研究背景研究背景即提出问题,阐述研究该
虽然提出的方法的比较与其他圈子探知方法的使用弦在这工作不十分地完成,我们观察了多数其他技术(即, Chan和Siu 1990年; ho和陈1995年; Sheu
井冈山大学是一所二本院校。 学校简介井冈山大学简称'井大',位于中国革命摇篮井冈山所在地——江西省吉安市,是江西省人民政府和教育部共同重点支持建设高校,科技部与
格式规范、内容合理、逻辑自洽、原创度高、查重率低还有就是对内容了解,能够轻松自如面对答辩!
低应变是检测装身完整性的,高应变既可以检测完整性,又可以检测桩的承载力。根据作用在桩顶上动荷载能量是否使桩土之间发生一定塑性位移或弹性位移,而把动力测桩分为高、