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


10

我有以下图像:

在此处输入图片说明

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

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


所有的曲线都是同心的吗?它们之间的间距可变吗?
endolith

是的,它们是同心的。而且没有间距是恒定的。
JingKe 2012年

Answers:


3

您需要先提高图像的对比度,然后对其进行强烈过滤以消除噪点。由于圆是“粗的”(模糊的),因此可以在不破坏圆结构的情况下进行大量过滤。

然后,我将应用一些边缘检测算法来获取可以由循环霍夫变换处理的二进制边缘图像。

我从您的图像中得到以下边缘图像: 在此处输入图片说明

使用以下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);
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.