2

我正在寻找一个用于在提供的位图中进行圆圈识别的 Java 库。我的 Java 知识太基础,无法实现,例如。霍夫变换有效(Java新手)。

谢谢!

4

2 回答 2

2

您可能想看看 ImageJ 中的实现,请参见此处

于 2009-02-17T09:52:43.820 回答
2

很抱歉在事实发生多年后发布此答案,但该问题在 2012 年再次被问到,然后因重复而关闭。正如我在对那个副本的回答中所说的那样,我认为这里给出的答案对于这样一个简单的问题来说太过分了,我更简单的解决方案也是如此:

  • 找到所有连接的绿色斑点。这不是完全微不足道的,但也不是那么难。
  • 对于每个 blob,找到具有最小 x 坐标的点和具有最大 x 坐标的点,并在 y 中执行相同的操作。然后你很容易得到 blob 的边界框的尺寸。如果 x 和 y 维度不同,则您没有圆。但是,您应该允许一些小的差异,因为用像素绘制圆会导致不完美的圆。
  • 最后,如果你有一个圆,边界框的中心(大约)是圆的中心,半径是边界框宽度的一半。你可以画一个这样的圆圈,看看有多少绿色像素适合你的圆圈。同样,您必须允许一些缺陷。
于 2012-04-28T11:59:03.267 回答