1

我的应用是检测硬币。我已经使用 OpenCv 完成了大部分工作。我正在使用 CannyDetection 和 houghTransform 来检测图像圆圈。

但是我没有得到正确的硬币圈,我认为 ThresoldValues 传递给 cannyEdgeDetector 可能有问题。谁能告诉我如何选择阈值来检测硬币圈。

4

1 回答 1

0

不幸的是,没有神奇的数字。圆圈检测很大程度上取决于您传递给的参数cvHoughCircles(),并且它们对硬币的大小很敏感,硬币的大小会根据相机的接近程度而变化。

例如检查这个答案:Simple object detection using OpenCV and machine learning

该示例对特定大小的硬币产生了奇迹。但是,如果它被相机捕获并且我们移动它,硬币的大小会发生变化,应用程序将无法再提供如此准确的结果。

我要说的是,您需要在相机和硬币之间保持固定距离才能使这种方法起作用。找到一个适合你的距离,然后调整函数的参数,直到你满意为止。

于 2011-06-20T20:30:45.433 回答