opencv学习笔记——霍夫直线变换

霍夫直线变化,前提是边缘检测已完成

平面空间到极坐标空间的转换,平面坐标空间为y=kx+b,极坐标空间直线为ρ=xCosθ+ySinθ

一般来说对于点(x0,y0), 可以将通过这个点的直线统一定义为 ρ0 = x0 · Cosθ+y0 · Sinθ


我们定义三个点 (x0,y0) (x1,y1) (x2,y2) , 对于θ来说,我们规定在(0,180) 或者(0,360),每次不断递增,可以得到对应的r,三个点即可得到三条曲线


相交于一点,表明这些像素点都属于一条直线。

举个例子:


我们取五个点, 可以画出五条曲线,最终求得都会经过(45°,3√2),带入ρ=xCosθ+ySinθ,即可得到3√2=xCos45°+ySin45°,因此可得到直线方程3√2 = √2/2 x + √2/2 y,化简后 y = 6-x ,所以图像中符合该条件同在一条直线上。

猜你喜欢

转载自blog.csdn.net/nienelong3319/article/details/80614705