我在2D中定义的行由ax + + c = 0定义,因此(a,b,c)。 我需要计算这条线的极坐标表示,如Hough方法和rho theta。
怎么做?
答案 0 :(得分:2)
笛卡尔坐标系中的直线在极坐标中不易表示。
您只需将x,y
替换为各自的极地等值r*cos(theta), r*sin(theta)
,然后给您
a*r*cos(theta) + b*r*sin(theta) + c = 0
然而,这个隐含的等式并不容易理解。但是,如果您首先将隐式线方程转换为(x,y) = R(t) = R0 + t*V
形式的参数向量方程,其中R0,V
是可以从a,b,c
推导出的笛卡尔向量,则可以编写
(r*cos(theta), r*sin(theta)) = R0 + t*V
并根据r
解决theta
和t
的这个方程组。
然而,极坐标与霍夫变换不同。
在Hough系统中,线由rho
的垂直线的长度(0,0)
定义,即theta = atan(b/a)
。最初确定rho
似乎更难,但this tutorial解释了它。