对于笛卡尔坐标系来说:y=ax+b,如果坐标上一点(x0,y0),则对应参数坐标(a0,b0),
同理,如果在笛卡尔坐标系上一条直线(即有恒定的参数(a,b))上的点,在参数坐标上则会在(a,b)这点上相交。
一般来说我们可以通过设置直线上点的阈值(或者说是个数)来定义多少条曲线交于一点,这样我们才认为检测到一条直线。
hough线变换要做的就是追踪图像中的每个点对应曲线间的交点,如果交于一点的曲线的数量超过了设定的阈值,就认为交点所
代表的参数对(a,b)在原图像中为一条直线。
在opencv中有两种hough变换:
1、标准hough线变换
它能给我们提供参数对的集合来表示检测到的直线 用函数HoughLines(),它能给我们提供一组参数对的集合来表示检测到的直线
参数:
dst: 边缘检测的输出图像. 它应该是个灰度图 (但事实上是个二值化图)
lines: 储存着检测到的直线的参数对 的容器 * rho : 参数极径 以像素值为单位的分辨率. 我们使用 1 像素.
theta: 参数极角 以弧度为单位的分辨率. 我们