在低分辨率灰度图像中找到重叠圆的中心

Finding the centers of overlapping circles in a low resolution grayscale image

我目前正在迈出计算机视觉和图像处理领域的第一步。

我正在处理的任务之一是找到(重叠和遮挡的)圆的中心坐标。

这是一张示例图片:

这是另一个显示两个重叠圆圈的示例图片:

关于问题的更多信息:

对于第一个示例图像,通过找到质心来计算圆心相对容易。不幸的是,这不适用于第二张图片。

我尝试的东西主要基于圆霍夫变换和距离变换。

Circle Hough 变换似乎在计算上相对昂贵,因为我没有关于半径的信息并且可能的半径范围很大。此外,由于图像的分辨率较低,似乎很难沿着边缘识别(适当的)像素。

至于距离变换,我很难确定圆心,而且图像需要二值化意味着一定程度的信息损失。

现在我正在寻找上述算法的可行替代方案。

更多示例图片(如上两张示例图片是从如下图片中提取的):

只是大声思考,试着让球为你滚动……我会考虑 BlobConnected Component 分析来分离你的斑点。

然后我会开始单独查看每个 blob。首先是查看每个斑点的边界框有多方。如果它是 pretty square AND blob 的质心在正方形的中心,那么你有一个圆。如果它不是正方形,或者质心不在中心,那么你就多了一个圆。

现在我要开始查看白色区域与边界框边缘的接触位置,以寻找有关中心位置的一些线索...