Check if the code is correct or not for finding the diameter of objects in an image.

2 vues (au cours des 30 derniers jours)
Sir here I attached the code for finding the diameter of irregularly shaped objects in an image. Tell me if the code is correct to find the diameter or not .
if true
% code
end
originalImage = imread('result.jpg');
originalImage=rgb2gray(originalImage);
labeledImage = bwlabel(originalImage, 8);
D=regionprops(labeledImage,'area');
d1=regionprops(labeledImage,'EquivDiameter');

Réponse acceptée

Image Analyst
Image Analyst le 9 Oct 2012
No, you need to create a binary image first, plus you can do it all in one call to regionprops():
originalImage = imread('result.jpg');
originalImage=rgb2gray(originalImage);
binaryImage = originalImage > thresholdValue; % for example 80 or 142 or some value.
labeledImage = bwlabel(binaryImage, 8);
D=regionprops(labeledImage,'area','EquivDiameter');
  5 commentaires
Image Analyst
Image Analyst le 10 Oct 2012
You'd have to multiply the value from graythresh by 255 because that gives you a value in the range 0-1. Other than that it looks fine but you'd have to decide if graythresh's method (the "Otsu" method) works in your situation. I find that often it doesn't pick the best threshold and so I have to custom write a method to pick the threshold.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by