help with "imfindcircles"
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
calistaird
le 5 Déc 2020
Commenté : Image Analyst
le 22 Déc 2020
Hello! i am having trouble finding the centroid of this petri dish.
when i run my code, matlab finds 12 centroids and when i use 'viscircles' its showing me 12 rings on top of each other. could this be a sensitivity issue? are there other ways i can eliminate the other circles and only detect the boundary of the petri dish?
here is my code and i have also attached the image im analyzing and the resultant image after running the code
for i = 1:numI
file = images(i).name;
img = imread(file);
imshow(file)
% d = drawline;
% pos = d.Position;
% diffPos = diff(pos);
% diameter = hypot(diffPos(1),diffPos(2));
[C,R] = imfindcircles(img,200,'ObjectPolarity','dark','Sensitivity',1);
end
v = viscircles(C,R);
0 commentaires
Réponse acceptée
Image Analyst
le 5 Déc 2020
Post your original image, rather than a screenshot.
For one thing, your image capture conditions are horrible. You need to have lights on both sides to get rid of that bad shadow that is essentially the same darkness as your petri dish. If you had that, you could simply threshold and call regionprops:
mask = grayImage < someThresholdValue;
% Take largest blob.
mask = bwareafilt(mask, 1);
% Fill holes
mask = imfill(mask, 'holes');
% Find centroid
props = regionprops(mask, 'Centroid', 'EquivDiameter')
xCenter = props.Centroid(1)
yCenter = props.Centroid(2)
diameter = props.EquivDiameter
2 commentaires
Chaman Srivastava
le 21 Déc 2020
Hey! Image Analyst.
Really appreciate your answers!
I have a question regarding imfindcircles command in Matlab. Why is that it always return interger values if i specify a range in the command. Any insights on this? Is there any method to extract much accurate values?
Image Analyst
le 22 Déc 2020
Not sure. I don't really use it that much. Maybe it always wants to put the center on a definite row and column. You can call them and ask them or edit imfindcircles.m to see the source code.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Interpolation dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!