imfindcircles 没有找到明显的圈子

imfindcircles not finding obvious circle

我已经尝试了 imfindcircles 文档中的示例,这些示例使用了更复杂的图像并且效果很好。但是在下面生成一个完美的居中圆并尝试使用 imfindcircles 找到它的代码中,我得到了一个空结果。我一直在研究 imfindcircles 的参数,包括 ObjectPolarity、Sensitivity 和半径范围,但除了空结果之外,我还没有得到任何结果。

function annulusConvolve()
    function outputImg = generateCircle2(circleRadius)
        padding = 200;
        [xmesh, ymesh] = meshgrid(-circleRadius-padding:circleRadius+padding, -circleRadius-padding:circleRadius+padding);
    
        outputImg = zeros(size(xmesh));
    
        outputImg((xmesh.^2 + ymesh.^2) < circleRadius^2) = 1;
    
   
    end

    testPicture = generateCircle2(200);
    figure;
    imshow(testPicture);
    centers = imfindcircles(testPicture,200)
end

如果你尝试你的例子,对我来说工作正常:

centers = imfindcircles(testPicture,[195 205],'Sensitivity',0.99)