Effacer les filtres
Effacer les filtres

How to make a loop on objects after watershed segmentation

2 vues (au cours des 30 derniers jours)
Tian Tian
Tian Tian le 23 Fév 2018
Commenté : Matt J le 23 Fév 2018
I want to find objects with mean grayscale value <30 after watershed segmentation. But I don't know how to write the loop.After watershed, I think it is the segmented image is in label matrix (but not exactly sure). Could anyone give me a hand on writing this loop? Any help is appreciated.

Réponse acceptée

Matt J
Matt J le 23 Fév 2018
Modifié(e) : Matt J le 23 Fév 2018
No need for a loop,
stats=regionprops(labelmatrix, grayvalues, 'MeanIntensity');
index=[stats.MeanIntensity]<30;
  6 commentaires
Tian Tian
Tian Tian le 23 Fév 2018
Modifié(e) : Matt J le 23 Fév 2018
Thank you for this loop. I am trying this, but there is always unexpected errors about my code. If it is possible, may you please have a look?
T = stats;
excelfilename = 'Picture2.xlsx';
writetable(T,excelfilename,'Sheet',1,'Range','A1');
column=xlsread(excelfilename, 'A:A')
H=length(column)
dbstop if error
for n = 1 : H
MeanIntensity(n)= T(n,'MeanIntensity')
if (MeanIntensity(n)<30)
% Intensity is < 30
mask = ismember(cc, n);
outputImage = I;
outputImage(~mask) = 0;
figure; % Bring up new figure
imshow(outputImage , []);
end
end
The error is "You cannot subscript a table using linear indexing (one subscript) or multidimensional indexing (three or more subscripts). Use a row subscript and a variable subscript." Thank you for your time in advance.
Matt J
Matt J le 23 Fév 2018
@Tian Tian,
Please close this question (by Accept-clicking) and start a new one. The issue in your posted question has been addressed. The discussion is now well into other unrelated issues.

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