在Matlab中构建一个图像数组

Ofi*_* A. 10 arrays matlab image

我正在做一个Matlab项目,我需要知道如何构建一个图像数组.
我需要能够以类似于具有某种索引的C数组的格式移动数组.

我试过这个:

images = [image1 image2 image3 image4 image5];
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

CAT参数维度不一致.

我检查了size(image)每个图像的方法,并且所有图像都来自同一维度.

有什么可能是错的,或者我怎么能以其他方式做到这一点?

谢谢.

abc*_*bcd 23

有两种方法可以构建图像数组:

1. 3D阵列

你可以沿着第三个维度连接你的图像(所有图像都应该是相同的尺寸),如下所示:

imgArray=cat(3,image1,image2,image3,...)
Run Code Online (Sandbox Code Playgroud)

然后,您可以通过索引第三维来访问每个单独的图像.例如

image1=imgArray(:,:,1);
Run Code Online (Sandbox Code Playgroud)

2.一个单元阵列

在这种情况下,您将图像分组为单元格数组,每个图像都包含在自己的单元格中.

imgCell={image1,image2,image3,...};
Run Code Online (Sandbox Code Playgroud)

当您的图像尺寸不同时,这是一个不错的选择(唯一的选择).要访问每个单独的图像,您可以按如下方式索引单元格:

image1=imgCell{1};
Run Code Online (Sandbox Code Playgroud)