如何用opencv检测模糊圆的中心

信息处理 图像处理 opencv
2021-12-23 10:45:17

我有以下图像:

在此处输入图像描述

图片上有曲线。我想找到包含曲线的圆心。

我尝试了opencv和霍夫圆变换,但没有结果。

1个回答

您需要先提高图像的对比度,然后对其进行强力过滤以去除噪点。由于圆圈“厚”(模糊),您可以在不破坏圆圈结构的情况下过滤相当多的内容。

然后我会应用一些边缘检测算法来获得可以通过圆形霍夫变换处理的二进制边缘图像。

我从您的图像中得到以下边缘图像: 在此处输入图像描述

使用以下 MATLAB 命令:

 % x is the input grayscale image. First we adaptively improve the contrast over the image
 y= adapthisteq(x);

 % next we use the Canny edge detector with a strong Gaussian lowpass filter
 ee=edge(y, 'canny', [], 5);