【问题标题】:Hough transform: Where to place negative rhos in accumulator matrix霍夫变换:在累加器矩阵中放置负 rhos 的位置
【发布时间】:2017-04-15 16:13:39
【问题描述】:

我正在尝试实现Hough transform 算法。

我在图片的左上角设置了cartesian plane的原点。

theta(rho 与 X 轴之间的夹角)的范围是 1..180,步长为 1 度。 rho 的最大尺寸是图像的对角线尺寸。 我想计算累加器矩阵。鉴于上面的信息,它的大小应该是 Y: rho, X: 180 (theta)。

算法对我来说似乎很简单,但是 rho 存在问题。它会有负值。对于从 0PI/2 的 theta,rho 只会是正数,因为 sincos 是正数。然而对于从 PI/2PI 的 theta,因为这里 cos 是负数,而 sin 是正数,取决于点的 x,y 坐标,rho 可能为负值。

我的问题是:计算累加器矩阵时,rho的负值应该如何处理?我应该把它们放在哪里?

【问题讨论】:

    标签: algorithm hough-transform


    【解决方案1】:

    在 rho-theta 空间中,L1 = (rho, theta)L2 = (rho, theta + 180) 的行是相同的,因为行没有选择方向。

    所以只需将否定的theta(你是怎么得到的?)改为theta + 180

    【讨论】:

    • 所以我想只要 r 对 (theta) 为负数,我就必须切换到 (theta + 180),反之亦然。这是正确的吗?我举了一个例子,对于 theta = 2PI/3 和 (x,y) = (9,4)。在这种情况下,“r”为负数 (-1.03)。但是对于 theta = PI + 2PI/3,它是正数 (1.03)。
    • 您根本不应该得到负值。对于每个非零点,您递增数组中索引范围为 0..179(或 1..180)和 0..diagonal 的所有合适单元格
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多