Matlab中的矩阵数组?

Matlab中的矩阵数组?,matlab,Matlab,我试图在一个循环中对一个图像执行一些矩阵运算,我想分别存储每个生成的图像矩阵。但我很困惑,在Matlab中是否可以像C(int-array[r][C][n])那样声明并使用变量作为矩阵数组。请注意。您可以使用3D矩阵存储多个灰度图像,或使用4D矩阵存储多个彩色图像。这里有几个例子,假设您正在for循环中进行一些处理 灰度图像 首先声明一个3D矩阵,其中前两个维度是正在处理的任何图像的行和列。您需要确保所有图像共享相同的行和列,因为MATLAB不支持不均匀的多维矩阵。同样地,假设我们有N图像,并

我试图在一个循环中对一个图像执行一些矩阵运算,我想分别存储每个生成的图像矩阵。但我很困惑,在Matlab中是否可以像C(
int-array[r][C][n]
)那样声明并使用变量作为矩阵数组。请注意。

您可以使用3D矩阵存储多个灰度图像,或使用4D矩阵存储多个彩色图像。这里有几个例子,假设您正在
for
循环中进行一些处理


灰度图像 首先声明一个3D矩阵,其中前两个维度是正在处理的任何图像的行和列。您需要确保所有图像共享相同的行和列,因为MATLAB不支持不均匀的多维矩阵。同样地,假设我们有
N
图像,并且我们有
作为单个图像的行和列定义。我还将假设您的图像以
uint8
格式存储,但它们也可以是
double
。因此:

results = uint8(zeros(rows,cols,N)); %// To store the images
%// Or do results = zeros(rows,cols,N); if double type
for idx = 1 : N
    %// Read in your image
    %//....
    %// Process the image
    %//....
    %// Store the image for further analysis
    results(:,:,idx) = ...; %// Place instruction here
end
要访问第i个映像,只需执行以下操作:

im = results(:,:,i);
im = results(:,:,:,i);
im = results{i};

彩色图像 这是相同的原理,但我们有一个4D矩阵。我假设您有一个3通道彩色图像(即RGB)。您只需将上述代码扩展为4个维度。因此:

results = uint8(zeros(rows,cols,3,N)); %// To store the images
%// Or do results = zeros(rows,cols,N); if double type
for idx = 1 : N
    %// Read in your image
    %//....
    %// Process the image
    %//....
    %// Store the image for further analysis
    results(:,:,:,idx) = ...; %// Place instruction here
end
要访问第i个映像,只需执行以下操作:

im = results(:,:,i);
im = results(:,:,:,i);
im = results{i};

大小不一? 如果您有一组正在处理的图像,但它们的大小不同,则可以使用
cell
数组作为选项。您可以将其视为可以在每个元素中存储所需的任何数据类型的容器。因此,我们可以这样做:

results = cell(1,N); %// To store the images
for idx = 1 : N
    %// Read in your image
    %//....
    %// Process the image
    %//....
    %// Store the image for further analysis
    results{idx} = ...; %// Place instruction here
end
要访问第i个映像,只需执行以下操作:

im = results(:,:,i);
im = results(:,:,:,i);
im = results{i};

请注意,与普通矩阵相比,访问单元阵列的方式有所不同。您可以使用大括号代替。使用
()
是为了索引到单元格数组并执行切片(即访问一整组单元格并将其复制到新的单元格数组)而设计的。如果您想要实际的图像本身,请使用
{}

确保它是。。您是否考虑过阅读手册(没有冒犯您的意思,真的)?-->搜索“多维数组”单元格数组是另一种选择。@ParagS.Chandakkar-I添加了一些关于单元格数组的内容。谢谢