如何在没有 imfindcircles 函数的情况下使用霍夫变换检测图像中的圆圈?

how to detect circles in an image using hough transform withough imfindcircle function?

我需要使用 MATLAB (circles) 在图像中查找圆圈,但没有 imfindingcircle() 等内置函数或任何其他类似函数。 我想实现圆检测的霍夫算法,最后我需要找到一种方法来显示结果。

任何帮助将不胜感激。

所以您只想实现霍夫变换?这并不难...

  1. 定义你的 Hough Space(对于圆,你需要一个 3D Hough Space 作为参数 (x_c,y_c,r),中心点圆及其半径)
  2. 对源图像应用边缘检测
  3. 遍历梯度幅度大于某个阈值的所有Edge点
  4. 找到圆形 Hough 变换方程的所有解并将它们作为投票添加到您的 Hough Space
  5. 在 Hough Space 中找到最大值或极大值。这些是描述您圈子的参数。