如何在没有 imfindcircles 函数的情况下使用霍夫变换检测图像中的圆圈?
how to detect circles in an image using hough transform withough imfindcircle function?
我需要使用 MATLAB (circles) 在图像中查找圆圈,但没有 imfindingcircle()
等内置函数或任何其他类似函数。
我想实现圆检测的霍夫算法,最后我需要找到一种方法来显示结果。
任何帮助将不胜感激。
所以您只想实现霍夫变换?这并不难...
- 定义你的 Hough Space(对于圆,你需要一个 3D Hough Space 作为参数 (x_c,y_c,r),中心点圆及其半径)
- 对源图像应用边缘检测
- 遍历梯度幅度大于某个阈值的所有Edge点
- 找到圆形 Hough 变换方程的所有解并将它们作为投票添加到您的 Hough Space
- 在 Hough Space 中找到最大值或极大值。这些是描述您圈子的参数。
我需要使用 MATLAB (circles) 在图像中查找圆圈,但没有 imfindingcircle()
等内置函数或任何其他类似函数。
我想实现圆检测的霍夫算法,最后我需要找到一种方法来显示结果。
任何帮助将不胜感激。
所以您只想实现霍夫变换?这并不难...
- 定义你的 Hough Space(对于圆,你需要一个 3D Hough Space 作为参数 (x_c,y_c,r),中心点圆及其半径)
- 对源图像应用边缘检测
- 遍历梯度幅度大于某个阈值的所有Edge点
- 找到圆形 Hough 变换方程的所有解并将它们作为投票添加到您的 Hough Space
- 在 Hough Space 中找到最大值或极大值。这些是描述您圈子的参数。