Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中将多个numpy数组(图像)组合到一个数组(图像)中_Python_Image_Numpy_Matplotlib - Fatal编程技术网

在python中将多个numpy数组(图像)组合到一个数组(图像)中

在python中将多个numpy数组(图像)组合到一个数组(图像)中,python,image,numpy,matplotlib,Python,Image,Numpy,Matplotlib,我有一些numpy阵列,其元素是28*28图像的像素,如下所示: 其中25个阵列为(25,28,28)或(5,5,28,28)形状的一个阵列。有没有什么有效的方法可以将它们堆叠成一个图像:28*28个图像中的5*5个 我尝试了np.REFORMATE到(140140)数组和plt.imgshow。但是输出是一个乱七八糟的图像。我尝试将np.REFORMATE转换为(140140)…如果您首先适当地转换输入,这将起作用 假设输入x具有形状(5,5,28,28)。要获得具有形状(140,140)

我有一些numpy阵列,其元素是28*28图像的像素,如下所示:

其中25个阵列为(25,28,28)或(5,5,28,28)形状的一个阵列。有没有什么有效的方法可以将它们堆叠成一个图像:28*28个图像中的5*5个

我尝试了np.REFORMATE到(140140)数组和plt.imgshow。但是输出是一个乱七八糟的图像。

我尝试将np.REFORMATE转换为(140140)…如果您首先适当地转换输入,这将起作用

假设输入
x
具有形状(5,5,28,28)。要获得具有形状(140,140)的阵列
y
,该阵列包含按所需方式排列的图像,可以执行以下操作:

xshp = x.shp
y = x.transpose((0, 2, 1, 3)).reshape((xshp[0]*xshp[2], xshp[1]*xshp[3]))
如果
x
始终具有形状(5、5、28、28),则可以硬编码常数140:

y = x.transpose((0, 2, 1, 3)).reshape((140, 140))
例如,这里我创建了一个带有形状(5、5、28、28)的
x
,其中每个28x28图像都是一个常量。常数是随机选择的。将绘制经过变换、重塑的数组
y
,您可以看到所有常量块都正确排列

In [148]: rng = np.random.default_rng()                                                                       

In [149]: x = np.repeat(rng.integers(0, 256, size=(5, 5)), 28*28, axis=-1).reshape((5, 5, 28, 28))            

In [150]: y = x.transpose((0, 2, 1, 3)).reshape((140, 140))                                                   

In [151]: imshow(y) 

“我尝试将np.reformate改为(140140)…”如果您首先适当地转换输入,这将起作用

假设输入
x
具有形状(5,5,28,28)。要获得具有形状(140,140)的阵列
y
,该阵列包含按所需方式排列的图像,可以执行以下操作:

xshp = x.shp
y = x.transpose((0, 2, 1, 3)).reshape((xshp[0]*xshp[2], xshp[1]*xshp[3]))
如果
x
始终具有形状(5、5、28、28),则可以硬编码常数140:

y = x.transpose((0, 2, 1, 3)).reshape((140, 140))
例如,这里我创建了一个带有形状(5、5、28、28)的
x
,其中每个28x28图像都是一个常量。常数是随机选择的。将绘制经过变换、重塑的数组
y
,您可以看到所有常量块都正确排列

In [148]: rng = np.random.default_rng()                                                                       

In [149]: x = np.repeat(rng.integers(0, 256, size=(5, 5)), 28*28, axis=-1).reshape((5, 5, 28, 28))            

In [150]: y = x.transpose((0, 2, 1, 3)).reshape((140, 140))                                                   

In [151]: imshow(y) 

嗯?如何在25x28x28的阵列中获得625张28x28的图像?嗯?如何在25x28x28的阵列中获得625张28x28的图像?