在numpy数组中显示matplotlib中的多个图像

Abh*_*hik 2 python numpy matplotlib

我有一个形状为(1、64、224、224)的数组。64张尺寸为224 * 224的单通道图像。当我这样做时:

plt.imshow(output_image[0,1,:,:], interpolation='nearest')
Run Code Online (Sandbox Code Playgroud)

图像显示正确。

但是当我这样做时:

for i in range(64):
    plt.imshow(output_image[0,i,:,:], interpolation='nearest')
Run Code Online (Sandbox Code Playgroud)

即使有64张图像,我也只能看到1张图像。

如何获得一行64张图像?我究竟做错了什么?

Mik*_*ler 6

您可以为每个图像创建一个新的子图:

fig = plt.figure(figsize=(50, 50))  # width, height in inches

for i in range(64):
    sub = fig.add_subplot(64, 1, i + 1)
    sub.imshow(output_image[0,i,:,:], interpolation='nearest')
Run Code Online (Sandbox Code Playgroud)

这会将全部64张图像放在一栏中。改成:

sub = fig.add_subplot(8, 8, i + 1)
Run Code Online (Sandbox Code Playgroud)

八列八行。