2

我是学生,我必须使用霍夫变换来检测图像的边界,我们会说骨架。我也与 Pyside 合作。

为此,我知道如何执行霍夫变换,我找到了一个带有 Python 插件的网站(http://scikits-image.org/docs/0.4/api/skimage.transform.html#hough),它给我作为回报:H:uint64(霍夫变换累加器)的二维ndarray,距离和theta:ndarray(计算变换的角度。)

所以,有了这些信息,我想反转霍夫变换,以获得图像的“骨架”并将其表示在“正常”空间 y=ax+b (对于所有线条和形状)。

为了做到这一点,我找到了一篇文章 Window-base Inverse Hough Transform。本文讨论了一种通过使用下面的算法(两步)来做到这一点的方法,问题是我真的不知道如何将它放入我的应用程序中,甚至放入 Python 中:s

如果您想要更多信息(我可以发布太多链接,它会出现)所以这个链接,我们将引导您到一个论坛,我已经发布了我的信息(链接到法语论坛(帖子#6)

您将在帖子 #6 中看到算法和 pdf 文章站点的链接。

非常感谢您的帮助。

4

1 回答 1

1

寻找已知形状的边界是一个不同的挑战。我不确定您是否正确使用了关键字 - 寻找广义霍夫变换可能比寻找逆霍夫变换更好。

上面链接中的霍夫变换已经向您展示了累加器的所有角度的输出:out、angles、d = hough(img)

以弧度为单位的角度和以像素为单位的 d 距离。所以您对 y=ax+b 的要求已经得到满足(a 是 angle[i],b 是 d[i])。显然,这种霍夫变换实现仅适用于线条。

于 2012-08-15T11:40:46.537 回答