一,使用背景
对图像进行边缘检测,我们可以得到图像的边缘图,就是只有在图像中处于边缘位置上的点的像素值才有可能大于0,其余位置的像素值均为0。想通过边缘图像提取出边缘所在的直线,然后在原图像中画出来,我们就可以借助 hough 转换来实现。也可以说,在使用 hough 转换检测直线之前,应该获取图像的边缘图像。
二,原理
图像空间中的一条线可以使用 y=m0∗x+b0 来表示。此时如果有一个m,b二维空间,那么图像上的一条直线就对应m,b空间上的一个点。映射关系如下图所示:
而对于图像上的一点 (x0,y0) ,我们可以设经过它的所有直线(垂直于x轴的直线除外)为 y0=m∗x0+b ,也就是说图像空间上的一个点,对应m,b空间的一条直线。映射关系如下图所示:
再考虑图像空间上的两个点 (x0,y0) 和 (x1,y1) ,那么它们映射到m,b空间上就是两条直线,当 x0!=x1 的时候,映射到m,b空间上的两条线就肯定会有一个交点,这个交点就是图像空间中由两个点决定的一条线映射过来的。映射关系如下图所示:
假设现在我们有一张图像,图像上只有一条直线