Мне нужно найти несколько смутных круговидных структур на многих изображениях с микроскопа и надеяться, что мне помогут в этом бесконечные круги.Поэтому, чтобы начать, я создал довольно случайную, базовую тестовую картину.В коде показаны два примера, найденных в сети.Тот, у которого есть монеты, выглядит как сложная задача, но функция легко определяет круги.
На моем изображении я могу найти один в лучшем случае.В чем проблема?Я совершаю очевидную ошибку?
% Example from web
im = imread('http://kimyamuhendisi.com/images/pipe.jpg');
[c,r] = imfindcircles(im,[10,20]);
figure, imshow(im); viscircles(c,r);
% Example from web
A = imread('coins.png');
[centers, radii, metric] = imfindcircles(A,[15 30]);
figure, imshow(A); viscircles(centers, radii, 'EdgeColor', 'b');
% My test picture
Iuint8 = imread('https://i.imgur.com/yEM8pza.jpg');
Igray = rgb2gray(Iuint8);
[centers, radii] = imfindcircles(Igray,[10 30]); %Finds B
% [centers, radii] = imfindcircles(Igray,[20 40]) %Nothing
% [centers, radii] = imfindcircles(Igray,[30 50]) %Nothing
% [centers, radii] = imfindcircles(Igray,[50 70]) %Nothing
% [centers, radii] = imfindcircles(Igray,[70 90]) %Nothing
% [centers, radii] = imfindcircles(Igray,[90 120]) %Nothing
% [centers, radii] = imfindcircles(Igray,[240 270]) %Nothing
figure, imshow(Igray); viscircles(centers, radii, 'EdgeColor', 'b');