python - 从 4 维 Numpy 数组中获取图像作为 4 维 Numpy 数组
问题描述
我刚刚开始学习Python。我正在使用 Numpy,这是我不明白的事情。
我有一个形状为 (960, 200, 200, 1) 的 Numpy 数组。我用它来存储大小为 200x200x1(200 高 x 200 宽 x 1 通道)的图像。所以,我认为这意味着我有 960 张图像。
现在,我必须获取一张图像来测试我的 CNN 网络,为此,我做到了:
D = ... # My Dataset with shape (960, 2, 200, 200, 1)
features = D[:,0,:] # Shape (960, 200, 200, 1)
labels = D[:,1,:] # Shape (960, 200, 200, 1)
print("D shape: ", D.shape)
print("Features shape: ", features.shape)
print("Labels shape: ", labels.shape)
print(features[0, :].shape) # Shape (200, 200, 1)
print(labels[0,:].shape) # Shape (200, 200, 1)
此代码输出:
D shape: (960, 2, 200, 200, 1)
Features shape: (960, 200, 200, 1)
Labels shape: (960, 200, 200, 1)
(200, 200, 1)
(200, 200, 1)
我想从特征中获取一张图像,从标签中获取一张。我已经尝试了这两个命令,获取和图像具有相同的形状(200, 200, 1)
:
features[0, :]
features[0]
但我需要得到一个 shape 的图像(1, 200, 200, 1)
。
我怎样才能获得具有该形状的图像?
也许创建一个 4 维 Numpy 数组,并添加图像。
解决方案
A = np.random.random((200,200,3))
A.shape
给
(200, 200, 3)
您可以使用
B = np.expand_dims(A,0)
接着
B.shape
(1, 200, 200, 3)
推荐阅读
- javascript - 解密加密数据
- google-cloud-platform - 数据融合复制管道未在 Google Bigquery 中同步数据
- java - java - 如何使用带有字符串验证的java扫描仪?
- python - while 函数不适用于 CSV 文件列
- arrays - 如何在 Dart Flutter 中获取字典数组中某些键的值?
- python - 在虚拟环境python(Ubuntu)中运行的可执行文件
- javascript - 内联函数按 id 调用自动元素
- python - 在 Python 中将足球比分转换为数字
- opencl - 64 位原子操作可以在 AMD 卡上的 openCL 中工作吗?
- node.js - 关于 post 方法如何获取显示属性列表