2012-11-29 84 views
0

爲什麼我不能運行這個函數?和標題顯示的錯誤信息?下標索引必須是matlab中的實數正整數或logicalsi

function y = contrast_stretching(citra) 
double_citra = double (citra); 
[m n] = size (citra); 
for i = 1:m 
    for i =1:n 
     y(i,j) = double_citra(i,j) + 100; 
    end; 
end; 
y=uint8 (y); 
imshow(y); 
+0

請在問題中發佈問題的詳細信息以及問題的陳述(例如「Matlab中的意外錯誤」)! – durron597

回答

3

那麼一開始,你的第二個for循環是

for i=1:n 

在哪裏,我懷疑你真正的意思是:

for j=1:n 

兩個ij具有在sqrt(-1)的默認值Matlab的。當您嘗試分配到y(i,j)時,您將分配到sqrt(-1)列的y

+0

感謝您的編輯@slayton - 這完全滑了我的腦海。正如你所說,通常建議你不要使用'i'和'j'作爲索引,因爲它們也是虛構單元的符號變量。我傾向於使用'ii','jj','kk'等來代替。 –

相關問題