【问题标题】:OpenCV Hough Detection finding inner circleOpenCV霍夫检测发现内圈
【发布时间】:2020-05-15 23:53:19
【问题描述】:

我正在尝试使用霍夫圆检测方法来找到如图所示的所有圆(如图 1 和图 2 所示)。最初,我使用了 canny 和 findContour 方法(如图 3 所示)。我仍然不确定哪种方法更合适。canny 和 findContour 方法的问题是它没有找到所有的圆圈以及得到很多噪音。但是当使用霍夫圆检测时,圆有时会捕获外周而不是内周,如图 2 所示。

canny+findcontour 方法可以很好地找到圆的轮廓,但有很多噪音,而 Hough 圆的效果很好,但圆有时会与外圆融合。

Hough circle

Hough circle-zoomed in

canny + findcontour method

【问题讨论】:

    标签: opencv


    【解决方案1】:

    我认为如果您对图像进行预处理,您可以获得更好的结果。首先应用 Otsu 阈值,如果效果不佳,请使用手动值作为阈值。之后使用 cv.erode() 函数获得清晰的边界。然后尝试应用霍夫圆变换。 如果性能不是问题,另一个有趣的事情是查看整体嵌套边缘检测,然后应用霍夫圆变换。

    还请看以下内容:

    https://www.learnopencv.com/filling-holes-in-an-image-using-opencv-python-c/ https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_imgproc/py_watershed/py_watershed.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-14
      • 2013-01-03
      • 1970-01-01
      • 2011-02-22
      • 1970-01-01
      • 2018-05-08
      • 2012-09-16
      • 1970-01-01
      相关资源
      最近更新 更多