Matlab:如何从4-D矩阵进行绘图

时间:2019-04-29 10:30:10

标签: matlab

我有一个包含1000张图片的4维矩阵。 矩阵的形状为1000 * 32 * 32 * 3(1000是图片数,32 * 32是2像素值,3是RGB-3通道)。

我想知道如何为图片显示一个通道的32 * 32值?或3个频道32 * 32 * 3?

并且可以用matlab绘制32 * 32吗?或3张32 * 32通道的3张图片?

1 个答案:

答案 0 :(得分:1)

通常,您使用imshow命令显示单通道(灰度)或多通道(彩色)的图像。如果您描述的方式中存储了多张图像,则需要索引特定的(灰度或彩色)图像(或彩色通道),并且可能需要使用squeeze命令来删除长度为1的尺寸可能会导致imshow出现问题。

请使用一些模型数据查看以下代码段:

% Mock-up data.
A = uint8(round(255 * rand(1000, 32, 32, 3)));

% Select I-th image.
I = 25;

figure(1);

% Show I-th RGB image.
subplot(2, 2, 1);
imshow(squeeze(A(I, :, :, :)));

% Show I-th red channel image.
subplot(2, 2, 2);
imshow(squeeze(A(I, :, :, 1)));

% Show I-th green channel image.
subplot(2, 2, 3);
imshow(squeeze(A(I, :, :, 2)));

% Show I-th blue channel image.
subplot(2, 2, 4);
imshow(squeeze(A(I, :, :, 3)));

输出:

Output