在matlab中运行代码之后,我遇到了这个错误,并且不确定如何解决它我怎样才能解决这个问题。
警告:
和&&运算符的操作数必须可转换为逻辑标量值。
Jgray = double(rgb2gray(J));
% Calculate the Gradients
[dIx, dIy] = gradient(Jgray);
if max(dIx)<=103 && max(dIy)<=100
B = abs(dIy) - abs(dIx);
else
B = abs(dIx) - abs(dIy);
end
最佳答案
如果dIx和dIy是矩阵(与一维向量相反),max(dIx)
和max(dIy)
将返回向量。&&
和||
应该用来比较标量,而不是矢量。
你可能想打字
if max(dIx(:))<=103 && max(dIy(:))<=100
但我不能确定,因为我不知道代码应该做什么:)