How to make a loop on objects after watershed segmentation

2 Ansichten (letzte 30 Tage)
Tian Tian
Tian Tian am 23 Feb. 2018
Kommentiert: Matt J am 23 Feb. 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.

Akzeptierte Antwort

Matt J
Matt J am 23 Feb. 2018
Bearbeitet: Matt J am 23 Feb. 2018
No need for a loop,
stats=regionprops(labelmatrix, grayvalues, 'MeanIntensity');
index=[stats.MeanIntensity]<30;
  6 Kommentare
Tian Tian
Tian Tian am 23 Feb. 2018
Bearbeitet: Matt J am 23 Feb. 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 am 23 Feb. 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.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by