我已经尝试了使用更复杂的图像的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)