imfindcircles 没有找到明显的圆圈

Posted

技术标签:

【中文标题】imfindcircles 没有找到明显的圆圈【英文标题】:imfindcircles not finding obvious circle 【发布时间】:2021-11-17 09:58:53 【问题描述】:

我已经尝试了 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

【问题讨论】:

【参考方案1】:

如果您尝试以下示例,对我来说没问题:

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

【讨论】:

这对我有用,但为什么灵敏度必须这么高? 它的一种阈值。查看更多mathworks.com/help/images/…

以上是关于imfindcircles 没有找到明显的圆圈的主要内容,如果未能解决你的问题,请参考以下文章

二进制图像圆拟合

圆的低对比度分割

OpenCV 的 findCirclesGrid 没有找到圆圈网格

如何从 n: m 的奇异值分解矩阵中找到一个切片,没有圆圈

CI框架部署后访问出现404

小程序右上角没有菜单怎么办