0

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

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

谢谢你,斯里尼瓦斯

4

2 回答 2

0

如果您发布您的问题的图像,它会更容易回答。一个想法是对cannyEdgeDetector 输出的轮廓进行循环霍夫变换。这将降低对坏阈值的敏感性。

于 2011-05-20T10:42:40.113 回答
0

对于选择阈值,需要考虑很多事情..

首先,Canny 对迟滞非最大值抑制使用两个阈值,一个低阈值和一个高阈值。一般优先选择高阈值是低阈值的两倍。

下阈值- 幅度小于该阈值的边缘将被抑制

更高的阈值——幅度大于的边缘将被保留

只有当位于/连接到高阈值边缘点时, 才会保留低和高之间的边缘。

高低阈值的选择完全取决于您的边缘强度。如果您的硬币边界明亮,您可以选择 80 和 160 但如果硬币边缘强度较低,则低阈值 30-50 和高阈值 60-100 之类的值就足够了,

我还想补充一件事,如果您选择低阈值,也会出现一些额外的不需要的边缘,但是如果您的硬币边缘的强度达到那个量级,那么您将被迫选择较低的阈值。

于 2014-01-21T19:41:39.633 回答