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