这行MATLAB代码有什么问题?

时间:2014-07-17 22:50:03

标签: matlab image-processing matrix matrix-indexing

当我尝试在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数组,其中包含nx_maxy_max灰度图像。存储不当吗?我在文档中看到了x_max y_maxn数组的提及......

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

1 个答案:

答案 0 :(得分:2)

示例:

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

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

squeeze(img(1,:,:))

或:

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