opencv Hough lines transform
- Hough transform 的目的
在一张边缘图片(一般通过 Canny 算法得到)中检测目标几何形状(直线、圆、椭圆等)的位置及参数 - HoughLines 原理
在二维空间中,直线在笛卡尔坐标系的表达式 y=kx+b ,即直线可用一个点(k,b)来表示,但是却无法表示垂直直线,因为垂直直线的斜率为无穷大,为了能够计算,可以将直线转换在极坐标系下表示,这时直线的表达式为 r=xcosθ +ysinθ
r 是原点到直线的距离,取值范围有正有负,θ 为直线的法线的角度 ,取值范围 0 ~π ,如下图所示
这时直线可用一对参数 (r,θ) 来表示,知道直线如何表示后,那么又如何来检测直线呢? 这时就要引进投票机制。假设在直线上选取两点个点 (x1