霍夫变换
Posted merlinzjl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了霍夫变换相关的知识,希望对你有一定的参考价值。
经典霍夫变换
参考:https://blog.csdn.net/shenziheng1/article/details/75307410
1换一种方式表示一条直线
在直角坐标系统,我们可以使用通常使用点斜式的方式表示表示一条直线,但是在hough变换中,我们使用的形式表示一条直线。其中r表示该直线到原点的距离,表示直线的垂线与x轴正方向的夹角。如下图所示:
2经典霍夫变换(检测直线)
对于点P,我们计算得到过点P的n个方向的直线,通常n=180,即直线每转1°,就计算得到该直线的值。这样如果我们有m个点,对这m点都做一次计算,如果有多个点在一条直线上,那么肯定有时,有多个点的r近似等于,也就是多个点在直线(上。
3霍夫圆检测
直线检测时,对每个点,枚举了所有过该点的直线,最后统计时发现多个点都有过该条直线时,该条直线自然被识别出来。
那么是否可以参考圆检测的思路,对点P枚举所有过点P的圆的集合,再做统计呢?
首先考虑如何表示一个圆?圆由圆心坐标和半径组成,(a,b,r)即我们有三个量。同样对所有的点找到过该点的圆集合,遍历完所有的点后,许多点都有(a,b,r)这个圆,则我们可以认为存在圆(a,b,r),但是这种方法效率较低。考虑到过点P的所有圆的轨迹实质是以(a,b)为圆心,r为半径运动的,所以如果有多个半径相同的圆的轨迹相交于一个点,那么这些点我们可以认为是在一个圆上,圆心即为交点。
以上是关于霍夫变换的主要内容,如果未能解决你的问题,请参考以下文章
学习 opencv---(13)opencv霍夫变换:霍夫线变换,霍夫圆变换
opencv —— HoughLinesHoughLinesP 霍夫线变换(标准霍夫线变换多尺度霍夫线变换累积概率霍夫线变换)