为什么在如此明显的图像中不能检测到圆?
4个视图(过去30天)
显示旧注释
接受的答案
图像分析
2021年5月21日
试着将灵敏度提高到0.95
clc;清除命令窗口。
关闭所有;关闭所有图形(imtool的图形除外)。
清晰;删除所有现有变量。或者clearvars。
工作空间;%确保工作区面板正在显示。
格式长g;
格式紧凑的;
fontSize = 20;
%--------------------------------------------------------------------------------------------------------
映像中已读百分比
文件夹= pwd;
baseFileName =“circle1.png”;
grayImage = imread(baseFileName);
获取图像的尺寸。
% numberOfColorChannels对于灰度图像应该= 1,对于RGB彩色图像应该= 3。
[rows, column, numberOfColorChannels] = size(grayImage)
如果numberOfColorChannels > 1
这并不是我们所期望的灰色尺度,而是颜色。。
使用所有通道的加权和创建灰度图像。
grayImage = min(grayImage, [], 3);
结束
%--------------------------------------------------------------------------------------------------------
%显示图像。
imshow (grayImage []);
轴(“上”,“图像”);
标题(的二进制图像,“字形大小”字形大小,“翻译”,“没有”);
impixelinfo;
hFig = gcf;
hFig。WindowState =“最大化”;可能不能在早期版本的MATLAB中工作。。
drawnow;
[center1, radii1] = imfindcircles(grayImage,[75, 125],“敏感”, 0.95,“ObjectPolarity”,“光明”)
radii1 viscircles(中心,“线宽”4);