Opencv:Hough Circles自动化参数?

时间:2013-11-07 05:36:22

标签: c++ opencv hough-transform

我目前正在与Hough Circles合作。有没有方法可以自动为霍夫圆圈找到合适的参数?现在,我只是手动更改值,直到它正确绘制圆圈。

3 个答案:

答案 0 :(得分:1)

如果您能够自动评估Hough Circles的输出,则对于大多数情况,强力搜索应该足够了。只需遍历所有参数的所有可能性,并获取给出最佳结果的值。

如果您需要加快速度,可以通过将一些参数锁定到已知工作正常或减小其范围的值来减少空间搜索。

更准确搜索的另一个选择是使用Genetic Algorithm

答案 1 :(得分:1)

我认为您还应该关注http://www.cse.yorku.ca/~kosta/CompVis_Notes/isophote_curvature.pdfhttp://www.science.uva.nl/research/publications/2008/ValentiCVPR2008/CVPR%2008.pdf 这将帮助您找到isophote曲率,图像的值。曲率是一点处曲线半径的倒数。计算每个像素的isophote曲率值后,您应该检查半径值的范围。

答案 2 :(得分:0)

如果你知道你正在寻找什么尺寸的圆圈,那么最好相应地设置min_radius和max_radius。否则,它将返回任何大小的任何循环,并且您的总目的将被销毁

参数1和2不会影响精度,更可靠。 Param 1将设置灵敏度;圆的边缘需要多强。太高,它不会检测到任何东西,太低,它会发现太多的混乱。 Param 2将设置需要找到多少个边缘点来声明它找到了一个圆圈。再一次,太高会发现什么都没有,太低就会宣布任何东西都是圆圈。 param 2的理想值与圆周长有关。