Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Matlab imfindcircles函数查找圆_Matlab_Computer Vision - Fatal编程技术网

使用Matlab imfindcircles函数查找圆

使用Matlab imfindcircles函数查找圆,matlab,computer-vision,Matlab,Computer Vision,我尝试使用Matlab函数imfindcircles查找图像中显示的所有硬币。但它不起作用 这是我的密码: I = imread('coins.jpg'); imshow(I); [centers, radii] = imfindcircles(I, [70,170],'Sensitivity',.95); centerStrongs= centers(:,:); radiiStrongs = radii(:); viscircles(centerStrongs, radiiStrongs,

我尝试使用Matlab函数imfindcircles查找图像中显示的所有硬币。但它不起作用

这是我的密码:

I = imread('coins.jpg');
imshow(I);
[centers, radii] = imfindcircles(I, [70,170],'Sensitivity',.95);
centerStrongs= centers(:,:);
radiiStrongs = radii(:);
viscircles(centerStrongs, radiiStrongs, 'EdgeColor','b');

通过使用imdistline,我知道硬币的半径在(70170)

之间,您确定这不起作用吗?尝试更好地调整灵敏度:

I = imread('/home/me/Desktop/coin.jpg');
imshow(I);
[centers, radii] = imfindcircles(I, [70,170],'Sensitivity',.98);
centerStrongs= centers(:,:);
radiiStrongs = radii(:);
viscircles(centerStrongs, radiiStrongs, 'EdgeColor','b');
我得到了每一枚硬币。 (很抱歉没有在评论中写这篇文章,我还没有足够的声誉)


您的输出是什么样子的?我想相对明亮的硬币与相对明亮的背景的对比确实使问题很难解决。此外,场景的照明也会创建硬币的阴影,这些阴影也是圆段。当您将案例与matlab文档示例进行比较时,您会发现它们使用了更清晰的场景设置。请提供您的结果以便进一步分析。谢谢,我实际上找不到任何圆。如果您希望得到更准确的结果,请尝试使用直方图均衡化或其他处理方法(如sobel过滤器)对图像进行预处理。