2015-10-27 70 views
1

我想做功能,輸出輸入圖像的部分窗口的平均值。Matlab)大小func(下標索引必須是實數正整數或邏輯)

所以,我實現了簡單的功能,在MATLAB

`

[m] = function compute_mean (Input, r,w, size) 
% r,w is coordinate of window's central point. 
a = size(Input); 
b=size(a); 
if(b(2) ==3) 
    Input = rgb2gray(Input); 
end 
row = a(1); col = a(2); 
...... 

` 它沒有警告。

但它會導致錯誤。 (a =尺寸(輸入)) 下標索引必須是實數正整數或邏輯。

我不知道爲什麼會出現這個錯誤。

請給我一個解決方案,這種情況下,請。

回答

0

您的第四個輸入參數,大小與Matlab的大小函數具有相同的名稱。將大小更改爲例如sz。那麼你的代碼將成爲像一些事情:

[m] = function compute_mean (Input, r,w, sz) 
% r,w is coordinate of window's central point. 
a = size(Input); 
b=size(a); 
if(b(2) ==3) 
    Input = rgb2gray(Input); 
end 
row = a(1); col = a(2); 
...... 

函數或變量或參數取名字前,經常檢查天氣是一個MATLAB內部函數名或沒有。否則,MATLAB會考慮您定義的最後一個符號。

相關問題