matlab - 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张图片?
解决方案
通常,您使用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)));
输出:
推荐阅读
- c - 使用 4 维立方体的指针
- arduino - 如何存储按下按钮,然后等到“millis() - changeTime >= 10000”,然后调用函数 changeLights()?
- html - 自动加载甚至没有链接的 css 文件
- macos - 如何取消 gdb 以进行卸载?
- html - iOS 上的 IFrame padding-bottom 问题(mobile-safari)
- bash - 使用 Bash 从文本文件中获取文本
- android - 使用 ACTION_GET_CONTENT 或 OPEN_DOCUMENT 从 Google 相册提供商处挑选
- c# - 解释器参数
- java - Spring boot REST api,通过外键而不是整个对象传递id
- vue.js - 尝试加载图像文件时出错 - Vuejs