我使用scipy.misc.imread
進行圖像加載和我的keras模型,我必須將形狀從(3, 224, 224)
更改爲(224, 224, 3)
。我一直在使用numpy.reshape
來實現這一點,但我不確定它是否有效。更改matplotlib的維度圖像
所以我試圖繪製生成的圖像和matplotlib.pyplot.imshow
不適用於新的形狀。
有沒有什麼方法可以繪製出最終的圖像?
我使用scipy.misc.imread
進行圖像加載和我的keras模型,我必須將形狀從(3, 224, 224)
更改爲(224, 224, 3)
。我一直在使用numpy.reshape
來實現這一點,但我不確定它是否有效。更改matplotlib的維度圖像
所以我試圖繪製生成的圖像和matplotlib.pyplot.imshow
不適用於新的形狀。
有沒有什麼方法可以繪製出最終的圖像?
假設您的圖像是im
。使用以下代碼:
im = im.transpose((1, 2, 0))
matplotlib.pyplot.imshow(im)
整形很危險,因爲它會混合圖像的通道。
取而代之,您需要將第一個軸向後滾動,而另外兩個則保持原樣。假設im
是您的形狀(3,224,224)的圖像,然後軋製,可以通過numpy.rollaxis
new_im = numpy.rollaxis(im,0, start=3)
使得new_im.shape
完成是(224, 224, 3)
。這個陣列應該使用matplotlib.pyplot.imshow()