当我运行以下代码时,我不断收到错误'未定义的函数或变量'Test_x'。为什么我会收到此错误?
以下是我目前的情况,
for D=max(max(X)) % Find max value
if D >= 5 % For only when at least one value >= the threshold
sumx=conv2(X,kernel,'same'); % Compute the sum of neighbors for each pixel
nx=conv2(double(X>0),kernel,'same'); % Compute the number of non-zero neighbors
avg_x=X;
avg_x(avg_x<5)=0;
index=(avg_x>=5); % Find logical index of pixels >=40
avg_x(index)=sumx(index)./max(nx(index),1); % Center or average of the nonzeros
avg_x1=(avg_x>0);
tmp_x=avg_x;
maxVal=max(avg_x(:))+1;
tmp_x(tmp_x==0)=maxVal; % Replace all the zeros in the tmp_Z1 with a larger value
tmp_x=imerode(tmp_x,kernel);
Test_x=X>=tmp_x; % Put one wherever new_Z1(k)>=tmp_Z1(k)
Test=Test_x+avg_x1;
Test_X=(Test>0);
elseif D<5 % Use when there is no value >= threshold
Test_X=Test_x.*avg_x1; % Give Zero matrix
end
end
感谢您的帮助:)
答案 0 :(得分:1)
如果??? Undefined function or variable 'Test_x'.
的初始值小于5,您的代码中会出现错误D
,在这种情况下,您的代码将执行最后一行Test_X=Test_x.*avg_x1;
而不先设置{ {1}}任何事情。您还必须将Test_x
初始化为某个内容,否则您将获得该变量的相同错误。