我使用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()