Debug this: for loop
Mostra commenti meno recenti
Hi, I have a problem with for loop in my case
for i = 1:P
SrJasnosc(i) = props2(i).MeanIntensity;
end
and next operation is
I = find(SrJasnosc > 400);
when those two parts is contain in funtion to analize series of pictures matlab give me an error:
??? Undefined function or variable "SrJasnosc".
Error in ==> srednia at 18
I = find(SrJasnosc > 400);
when I put it to command window to check on one picture is ok work fine, but otherwise its crush by error, after 3 hours of thinking on it I give up, please help, sorry for bad english.
code for function :
function out = srednia(poOdj, IMy)
[O P] = bwlabel(poOdj);
props2 = regionprops(O,IMy,'MeanIntensity');
for i = 1:P SrJasnosc(i) = props2(i).MeanIntensity; end
I = find(SrJasnosc > 400);
out = ismember(O, I);
Risposte (3)
Matt Tearle
il 23 Feb 2011
1 voto
Quick diagnostic: display the value of P (after it's returned by bwlabel)
Jan
il 23 Feb 2011
Btw: This can be done more efficiently:
for i = 1:P
SrJasnosc(i) = props2(i).MeanIntensity;
end
==>
SrJasnosc = [props2.MeanIntensity];
This method defines SrJasnosc even if props2 is an empty struct as long as it has the needed field.
gck
il 23 Feb 2011
0 voti
2 Commenti
Matt Tearle
il 23 Feb 2011
Yup, that's what I was guessing
Walter Roberson
il 23 Feb 2011
Please Accept Matt's answer.
Categorie
Scopri di più su Loops and Conditional Statements in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!