Debug this: for loop
古いコメントを表示
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);
回答 (3 件)
Matt Tearle
2011 年 2 月 23 日
1 投票
Quick diagnostic: display the value of P (after it's returned by bwlabel)
Jan
2011 年 2 月 23 日
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
2011 年 2 月 23 日
0 投票
2 件のコメント
Matt Tearle
2011 年 2 月 23 日
Yup, that's what I was guessing
Walter Roberson
2011 年 2 月 23 日
Please Accept Matt's answer.
カテゴリ
ヘルプ センター および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!