2017-01-02 11 views
2

私は形状(1,64,224,224)を持つ配列を持っています。サイズ224 * 224の64のシングルチャンネル画像。私がこれをするとき:numpy配列からmatplotlibで複数のイメージを表示

plt.imshow(output_image[0,1,:,:], interpolation='nearest') 

画像が正しく表示されます。

しかし、ときに私が行います

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

私は64枚の画像があるにもかかわらず、結果として1つだけの画像を参照してください。

64本の画像をどのように取得できますか?私は間違って何をしていますか?

+0

オーバーラップしないようにするには、「エクステント」kwargを使用する必要があります。 – tacaswell

+0

@tacaswellありがとう!私はPythonを初めて勉強しました。私はこれをどうやってやるのかという例をいいます。 – Abhik

答えて

2

あなたは、各画像のための新しいサブプロットを作成することができます。

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') 

これは、1列に64枚の全ての画像を配置します。変更:

sub = fig.add_subplot(8, 8, i + 1) 

8列と8行。

+0

これは機能します!画像は本当に小さいです。元の画像は224 * 224です。プロットの画像サイズを大きくするにはどうすればよいですか? – Abhik

+1

図形サイズを指定できます。私の更新された答えを見てください。 –

関連する問題