MATLAB:创建预定义的图像阵列

时间:2014-04-13 18:04:54

标签: arrays image matlab

我需要在MATLAB中加载许多小灰度图像。所有图像的类型/大小相同。 如何预定义数组并在其每个单元格中放置不同的图像?

例如,一个包含100个图像的数组,在第50位插入图像:

my_array = zeros(100);
...
my_array(50) = my_image;
...
imshow(my_array(50));

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以使用单元格数组执行此操作,只需将其定义为:

my_array = cell(100,1);

my_array{50} = my_image;

imshow(my_array{50})

单元阵列的每个单元可以容纳不同大小的数组和类型。我确实假设你的my_image变量是一个数组。另请注意大括号,这是您访问/定义单元格数组中内容的方式。这是一个小例子:

a = rand(100); % 100x100 size array in cell position 1
r = rand(100,100,3); % Different size array in cell position 2
b = cell(2,1); % initialize cell
b{1} = a; % assign cell content
b{2} = r;
imshow(b{1})

imshow(b{1})

图片是imshow(b{1})

的结果