"Undefined variable" error even though variable is defined
6 ビュー (過去 30 日間)
古いコメントを表示
I'm using part of a code I borrowed from @imageanalyst where I'm trying to run through frames of a video to look at how the intensity changes over time. I'd like to perform a background subtraction with the code below
if frame1 == 1
Background1 = thisFrame1;
else
for t=1:frame1
% Change background slightly at each frame
Background1 = (1-alpha1)* thisFrame1 + alpha1 * Background1;
end
end
I get an error stating:
"Unrecognized function or variable 'Background1'.
Background1 = (1-alpha1)* thisFrame1 + alpha1 * Background1;"
even though I have the function defined. when I run the same line of code with a different file, it works fine, even though they're the same file type. any idea as to why this is happening? thanks!
1 件のコメント
採用された回答
Steven Lord
2024 年 2 月 23 日
I'm guessing that you want to initialize Background1 when t is equal to 1 and to use the formula to update Background1 when t is greater than 1. In that case:
for t=1:frame1
if t == 1
Background1 = thisFrame1;
else
% Change background slightly at each frame
Background1 = (1-alpha1)* thisFrame1 + alpha1 * Background1;
end
end
Except that when t is 2, Background1 will be (1-alpha1)*thisFrame1 + alpha1*thisFrame1 = thisFrame1 (assuming there's no code later in the for loop after the if / else block that changes Background1. So perhaps if you describe in more detail what you want to do we can suggest some modifications to your code to achieve your goal.
0 件のコメント
その他の回答 (1 件)
Walter Roberson
2024 年 2 月 23 日
if frame1 == 1
Background1 = thisFrame1;
else
This does not define Background1 if frame1 ~= 1
4 件のコメント
DGM
2024 年 2 月 23 日
Well without knowing what the code or process is, there really isn't much I can suggest.
参考
カテゴリ
Help Center および File Exchange で Image Segmentation and Analysis についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!