2014-07-17 48 views
1

當試圖在MATLAB運行此行代碼:這行MATLAB代碼有什麼問題?

image_arr(i,:,:) = medfilt2(image_arr(i,:,:), [9 9]) 

它錯誤:

Error using medfilt2 
Expected input number 1, A, to be two-dimensional. 

image_arr是由在灰度級圖像y_max含有nx_max一個n * x_max * y_max陣列。這是否存儲不正確?我已經通過y_maxn陣列的文檔中...

在這種情況下看到的x_max提,image_arr29 X 1536 X 2048陣列,其成員都是single類型。

+0

該錯誤表明'image_arr(我,:, :''不是'2D'你能提供一個數據的例子嗎? –

+0

增加了一些說明。 – NGXII

回答

2

例子:

>> img = rand(5, 100, 200); 
>> size(img(1,:,:)) 
ans = 
    1 100 200 

你想擺脫導致單維度:

squeeze(img(1,:,:)) 

或:

permute(img(1,:,:), [2 3 1]) 
+0

謝謝!這完美的作品! – NGXII