Image 在赋值A(:)=B中,A和B中的元素数必须相同
你能帮我在下面的matlab代码中纠正上面提到的问题吗Image 在赋值A(:)=B中,A和B中的元素数必须相同,image,matlab,location,variable-assignment,pixel,Image,Matlab,Location,Variable Assignment,Pixel,你能帮我在下面的matlab代码中纠正上面提到的问题吗 E = [5,200]; Selected edge values X = imread('LENNA128.bmp'); N = length(X); Y = false(N+2); for k = 1:numel(E); Y(2:end-1,2:end-1) = X==E(k); Z = Y(1:end-2,2:end-1) | Y(3:end,2:end-1) | Y(2:end-1
E = [5,200]; Selected edge values
X = imread('LENNA128.bmp');
N = length(X);
Y = false(N+2);
for k = 1:numel(E);
Y(2:end-1,2:end-1) = X==E(k);
Z = Y(1:end-2,2:end-1) | Y(3:end,2:end-1) | Y(2:end-1,3:end) | Y(2:end-1,1:end-2);
X(Z) = round((X(end-3,3:end-2) + X(end-3,4:end-1))/2);
end
我猜这是matlab代码,下次可能会添加matlab标记。如果您查看matlab文档中的冒号运算符,那么当在赋值的左侧使用它时,它将填充矩阵并保持维数,因此您需要相同数量的元素。您能解释一下您试图用该代码实现什么吗?为什么Y=falseN+2?@Benoit_11我正在努力消除这个错误。是的,我知道。但是有时候理解代码的目的是很好的,你不这样认为吗?哪一行会抛出错误?别让我们猜。使用调试工具。