【发布时间】:2011-03-09 04:31:50
【问题描述】:
请给我推荐一些圆形物体检测的算法, 例如,将 CD 放在书的下方,可以看到其中的一部分。 所以该算法应该能够从CD的部分检测出一个圆。 或者它可以是一个放置在另一个之上的盘子,依此类推。 我尝试了opencv的霍夫变换,但它并不总是能检测到所有的圆圈,甚至有时会检测到错误的圆圈。
【问题讨论】:
请给我推荐一些圆形物体检测的算法, 例如,将 CD 放在书的下方,可以看到其中的一部分。 所以该算法应该能够从CD的部分检测出一个圆。 或者它可以是一个放置在另一个之上的盘子,依此类推。 我尝试了opencv的霍夫变换,但它并不总是能检测到所有的圆圈,甚至有时会检测到错误的圆圈。
【问题讨论】:
霍夫变换仍然是您的最佳选择。自己实现,真的很简单,然后你就能更好地控制隐藏参数(总是有一些)并了解它们的影响。您描述的错误通常可以通过对所有常量和预处理进行一些调整来解决。 here的解释还不错。
另外,请确保对圆半径设置合理的限制,否则您会将非常小的物体和大的直线都检测为圆。从简单的案例开始(噪音很小,只有几个圆圈,每个圆圈的大部分可见),然后慢慢朝着你的目标前进。
【讨论】: