首页 > 解决方案 > Matlab:如何从 4-d 矩阵绘图

问题描述

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

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

matlab可以绘制32 * 32吗?还是3张32*32通道的3张图片?

标签: matlab

解决方案


通常,您使用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)));

输出:

输出


推荐阅读