2016-11-26 80 views
0

我使用scipy.misc.imread進行圖像加載和我的keras模型,我必須將形狀從(3, 224, 224)更改爲(224, 224, 3)。我一直在使用numpy.reshape來實現這一點,但我不確定它是否有效。更改matplotlib的維度圖像

所以我試圖繪製生成的圖像和matplotlib.pyplot.imshow不適用於新的形狀。

有沒有什麼方法可以繪製出最終的圖像?

回答

1

假設您的圖像是im。使用以下代碼:

im = im.transpose((1, 2, 0)) 
matplotlib.pyplot.imshow(im) 
0

整形很危險,因爲它會混合圖像的通道。

取而代之,您需要將第一個軸向後滾動,而另外兩個則保持原樣。假設im是您的形狀(3,224,224)的圖像,然後軋製,可以通過numpy.rollaxis

new_im = numpy.rollaxis(im,0, start=3) 

使得new_im.shape完成是(224, 224, 3)。這個陣列應該使用matplotlib.pyplot.imshow()