使用Python和Numpy进行圆形检测?
我想用Python、
numpy
和scipy
来实现霍夫变换算法。我不想使用
opencv
这个库。我正在尝试在图像中检测圆心或者圆,但我不知道圆的半径。
我该怎么做呢?
2 个回答
1
我在网上查了一下,找到了以下内容:
http://nabinsharma.wordpress.com/2012/12/26/linear-hough-transform-using-python/
也许这就是你在找的东西。
抱歉,我觉得如果你想处理圆形的话,可以试试下面这个:
2
实现霍夫变换的过程其实很简单。我建议你去YouTube上找一些相关的视频,那里有很多关于这个的教程,甚至还有代码或伪代码的演示。
说到这里,我也曾经遇到过类似的情况,想用霍夫变换来检测圆。不过,我选择的方法和传统的霍夫变换有点不同。我没有遍历所有像素来生成经过至少一个圆上点的圆,而是把圆上的点当作圆心,从最小半径逐渐增加到最大半径,并以经典霍夫变换的方式来累积结果。
这样,你最终会得到一个三维数组,里面包含了(x,y和使用的半径)。中心和半径将是那个累积值最大的(x,y,半径)。