尝试在密集排列圆圈的图像中查找圆圈时,为什么imfindcircles不起作用?

时间:2019-02-27 19:26:50

标签: image matlab computer-vision

The picture I am using to identify each sphere in the image

代码:

A = rgb2gray(imread('Capture.PNG'));
imshow(A)
[centers, radii, metric] = imfindcircles(A,[12 17]);

我不明白为什么这行不通,因为图片尺寸为155x185,我使用ImageJ来找到一个球体的直径(大约30个像素)。

我的目标是确定各个领域。谢谢!

1 个答案:

答案 0 :(得分:0)

对不起,我现在没有图像处理工具箱,但以前已经做过类似的事情。

我的猜测是,您必须首先进行边缘检测(https://www.mathworks.com/help/images/edge-detection.html#responsive_offcanvas)。您可能应该将阈值设置得较低,以获取大量边缘,然后使用形态学运算符对其进行优化。如果您玩带imfindcircles的Sensitivity和EdgeThreshold参数,则可能不需要精简初始边缘集。看起来很有趣!