1

可能重复:
用于圆识别的快速 Java 库

我正在寻找一个好的 Java 算法/库来识别位图中的圆,并返回圆心的坐标。圆圈有一种颜色。(例如绿色)。

非常感谢!

4

3 回答 3

4

首先,我应该说我有点同意您的问题应该被关闭,因为它是重复的。但是,我不太喜欢所提供的答案,因为对于这样一个简单的问题来说它是矫枉过正的。

我会:

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

好吧,您可以尝试使用 Neuroph 框架(Java 神经网络框架)。

http://neuroph.sourceforge.net/

它的 api 非常好,但有一个问题。识别取决于您从中提取圆圈的图像的“亮度”。你可以联系这个框架的作者,他是贝尔格莱德大学的博士生,Artificall inteligence 的助教。

我希望我能帮助你:)

于 2012-04-27T21:27:00.667 回答
1

您可以尝试通过使用Radon 变换分析图像数据并扫描结果图像中的水平线来实现自己的方法。

于 2012-04-27T21:29:19.667 回答