Why can't a circle be detected in such an obvious image?

1 Ansicht (letzte 30 Tage)
Why can't a circle be detected in such an obvious image?
img = imread('circle.png');
[centers1,radii1] = imfindcircles(img,100,...
'Sensitivity',0.85,...
'ObjectPolarity','bright')
No matter how you adjust the value of 'sensitivity' or the radius or 'ObjectPolarity', the circle is not detected, why?
os: win10
matlab R2021a

Akzeptierte Antwort

Image Analyst
Image Analyst am 21 Mai 2021
Try increasing the sensitivity to 0.95
clc; % Clear the command window.
close all; % Close all figures (except those of imtool.)
clear; % Erase all existing variables. Or clearvars if you want.
workspace; % Make sure the workspace panel is showing.
format long g;
format compact;
fontSize = 20;
%--------------------------------------------------------------------------------------------------------
% READ IN IMAGE
folder = pwd;
baseFileName = 'circle1.png';
grayImage = imread(baseFileName);
% Get the dimensions of the image.
% numberOfColorChannels should be = 1 for a gray scale image, and 3 for an RGB color image.
[rows, columns, numberOfColorChannels] = size(grayImage)
if numberOfColorChannels > 1
% It's not really gray scale like we expected - it's color.
% Use weighted sum of ALL channels to create a gray scale image.
grayImage = min(grayImage, [], 3);
end
%--------------------------------------------------------------------------------------------------------
% Display the image.
imshow(grayImage, []);
axis('on', 'image');
title('Binary Image', 'FontSize', fontSize, 'Interpreter', 'None');
impixelinfo;
hFig = gcf;
hFig.WindowState = 'maximized'; % May not work in earlier versions of MATLAB.
drawnow;
[centers1, radii1] = imfindcircles(grayImage,[75, 125],'Sensitivity',0.95,'ObjectPolarity','bright')
viscircles(centers1, radii1, 'LineWidth', 4);

Weitere Antworten (1)

Stephan
Stephan am 20 Mai 2021
Bearbeitet: Stephan am 20 Mai 2021
Use a range for radius input argument such as:
[centers1,radii1] = imfindcircles(img,[50 200],'Sensitivity',0.85,'ObjectPolarity','bright')
  1 Kommentar
cui,xingxing
cui,xingxing am 21 Mai 2021
Bearbeitet: cui,xingxing am 21 Mai 2021
Hi, your solution is not working and still not detecting any results!
you can try code

Melden Sie sich an, um zu kommentieren.

Produkte


Version

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by