0

为什么我们不能在 Houghlines 变换中使用笛卡尔坐标 (x,y) 而不是极坐标 (r,theta) ?任何人都可以澄清吗?

4

1 回答 1

3

据我所知(引自维基百科):

霍夫变换最简单的情况是检测直线。一般来说,直线y = mx + b可以表示为(b, m)参数空间中的一个点。然而,垂直线会造成问题。它们会产生无界的斜率参数值m。因此,出于计算的原因,Duda 和 Hart 提出使用 Hesse 范式r = x*cos(theta) + y*sin(theta),其中r是从原点到直线上最近点的距离,并且是轴与连接原点和最近点的线theta之间的夹角x观点。

一条线可以通过查找曲线之间的交点数来检测。相交的曲线越多意味着该交点所代表的线有更多的点。一般来说,我们可以定义检测一条线所需的最小交叉点数的阈值。这就是霍夫线变换的作用。它跟踪图像中每个点的曲线之间的交点。如果交叉点的数量高于某个阈值,则将其声明为具有(theta,r_(theta))交叉点参数的线。(OpenCV 文档)

于 2018-08-02T10:48:59.613 回答