2016-11-26 81 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()