2016-01-20 228 views
-2

您能否幫我解決以下提到的在以下matlab代碼中提到的問題?在賦值A(:) = B中,A和B中元素的數量必須相同

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 
+0

你能解釋一下你試圖用這個代碼實現嗎?爲什麼'Y =假(N + 2)'? –

+0

@ Benoit_11我想擺脫那個錯誤。 – Happy2016

+3

是的,我知道。但是,有時候您理解代碼的目的不是好事嗎? –

回答

-1

我想這就是matlab代碼(也許下次添加matlab標籤)。如果你看一下matlab doc http://de.mathworks.com/help/matlab/ref/colon.html中的冒號操作符,那麼當在分配器的左側使用時,它將填充矩陣並保持分辨率,因此需要相同數量的元素。

相關問題