检测图像中的圆圈

信息处理 图像处理 计算机视觉 图像分割 霍夫变换
2022-02-06 09:02:06

我有一张图像,里面有像素化的圆圈(电线的横截面)。我想识别电线,它们的位置并计算它们。

圆圈从不重叠,电线都在 95% 的半径内。然而,间距可能不准确,因为导线之间可能存在间隙。

找到代表线的像素组的几何平均值的好方法是什么?

在此处输入图像描述
上面的图片是我想做的,将一个圆圈适合一组像素(我使用油漆)。我认为第一步是找到该组的几何平均值。

我确实尝试使用 tophat 内核和阈值来强调中心,但我最终得到了几个像素而没有中心像素。我需要确定中心并最终只得到一个像素,这很难用阈值处理,因为像素值的亮度不同。 在此处输入图像描述

原始图片: 在此处输入图像描述

1个回答

1)将您的图像标准化为范围[0,255]

2) 选择一个阈值并对图像进行阈值化。对于您的图像,有效的是:τ=[140150]

3) 计算欧几里得距离变换

4)应用流域分割

如果我应用此程序,我会得到以下结果: 在此处输入图像描述

不完美,但也许是一个好的开始。结果看起来类似于在图像的平滑/噪声过滤版本上执行 Voronoi 图。

现在对于每个区域,可以使用任何算法(边缘提取和拟合或霍夫变换等)拟合一个圆。现在,我使用一个简单的圆拟合边缘:

在此处输入图像描述

同样,不是最好的,但可能是一个足够的起点。

我还认为您会发现以下内容很有用:

光学显微镜图像的分割方法

检测球形粒子