【问题标题】:find the angle of rotation using hough transform使用霍夫变换找到旋转角度
【发布时间】:2014-05-15 13:26:54
【问题描述】:

我正在尝试使用 Hough 变换找到图像的旋转角度。 首先,我使用精明边缘检测器检测边缘,然后应用霍夫变换。 之后,对于每个 theta,我对该 theta 上的行长度求和并找到 theta 的直方图。然后我“循环移位”并找到一个匹配项。例如,如果我需要将其移动 5 次,则原始图像和旋转图像相差 5 度。 问题是这种方法在 180 和 0 之间没有区别。然而这是合乎逻辑的,因为 hough 只给出了 -90 到 90 之间的 theta。 现在如何识别旋转角度是 0 还是 180?

【问题讨论】:

    标签: image image-rotation hough-transform canny-operator


    【解决方案1】:

    霍夫线变换使用参数表示(半径、角度),其中:

    注意 open 区间:theta 中没有 180º (pi rad)。它总是 0 :)

    (与任何可能的间隔移动相同,如:

    仍然是 90º (pi/2) 的开区间)

    编辑:好的,我想我知道混乱可能在哪里。 Theta 可以介于 [0,2pi) 仅当您认为 r 是一个正实数(即 r>=0)。我认为这不是你的情况,因为你说过

    hough 只给出 -90 到 90 之间的 theta

    【讨论】:

    • 是的,我知道,但是我们如何将其映射到区间 [-180,180) 中的旋转?例如,在您提到的第一个表示中,0 度和 180 度的旋转有何不同?霍夫会说两者都有 0 旋转,这是错误的。我怎样才能了解发生了哪个旋转?
    • 在这个霍夫空间中,角度是 0º 实数,则 180º 和 0º 之间没有区别。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-23
    • 2014-06-28
    • 1970-01-01
    • 2020-08-04
    相关资源
    最近更新 更多