2013-02-20 70 views
-1
  1. 我想实现使用python,numpy和scipy的hough trasform算法。使用python,numpy进行圆圈检测?

  2. 我不想使用opencv。

  3. 我想要检测没有已知半径的图像中的圆或圆的中心。

任何人都可以请帮我或给我的代码?或者以简单的步骤告诉我可以在不知道其半径的情况下检测圆。

谢谢先进。

+1

http://en.wikipedia.org/wiki/Hough_transform#Circle_Detection_Process – Jaime 2013-02-20 16:23:30

+0

我看到了这一点,但其所有的数学,我不是很擅长。 @Jaime – 2013-02-20 17:54:07

+2

提供的维基百科链接仅包含执行所需内容的基本数学(实际上,它大多是纯英文)。如果你想在这里找到某个地方,你需要学习一下。 (没有免费的午餐) – heltonbiker 2013-02-20 19:55:42

回答

2

实现Hough变换的过程是非常straightfoward。我建议你在YouTube上看一些关于它的视频,甚至还有包含代码/伪代码的视频。

这就是说,我一直处于相同的情况,希望实施HT来检测圆圈。但是,我决定使用的方法与传统的HT稍有不同。我没有在所有像素上循环生成圆圈点,而是使用圆点作为中心,将半径从min_radius递增到max_radius,并以与经典HT相同的形式累积它。

这样,你最终会得到一个3D数组(使用了x,y和radius)。中心和半径将是具有最大累加值的(x,y,半径)。

Simplified Hough Transform