我的应用程序是检测硬币。我已经使用OpenCv完成了大部分工作。我正在使用CannyDetection和houghTransform来检测图像圆。
但是我没有得到正确的答案,我认为将ThresoldValues传递给cannyEdgeDetector可能是个问题。谁能告诉我如何选择阈值来检测硬币圈。
最佳答案
不幸的是,没有神奇的数字。圆圈的检测很大程度上取决于您传递给cvHoughCircles()
的参数,并且它们对硬币的大小敏感,硬币的大小会根据相机的接近程度而变化。
检查此答案,例如:Simple object detection using OpenCV and machine learning
该示例为特定大小的硬币创造了奇迹。但是,如果它是由照相机捕获并由我们移动的,则硬币的大小将发生变化,应用程序将无法再提供如此准确的结果。
我的意思是,要使此方法起作用,您需要在相机和硬币之间的距离范围内进行工作。找到适合您的距离,然后调整功能的参数,直到满意为止。
https://stackoverflow.com/questions/6407938/