1

当我尝试在 MATLAB 中运行这行代码时:

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

它错误:

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

image_arr是一个包含,灰度图像的n * x_max * y_max数组。这是存储不当吗?我在文档中看到了by by arrays 的提及...nx_maxy_maxx_maxy_maxn

在这种情况下,image_arr是一个29x 1536x2048数组,其成员都是single类型。

4

1 回答 1

2

例子:

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

你想摆脱那个领先的单身维度:

squeeze(img(1,:,:))

或者:

permute(img(1,:,:), [2 3 1])
于 2014-07-17T23:09:14.870 回答