【问题标题】:Changing dimensionality for matplotlib image更改 matplotlib 图像的维度
【发布时间】:2016-11-26 21:18:26
【问题描述】:

我使用scipy.misc.imread 来加载图像,而对于我的keras 模型,我必须将形状从(3, 224, 224) 更改为(224, 224, 3)。我一直在使用numpy.reshape 来完成这个,但我不确定它是否真的有效。

所以我尝试绘制结果图像,matplotlib.pyplot.imshow 不适用于新形状。

有没有办法绘制结果图像?

【问题讨论】:

    标签: matplotlib deep-learning keras


    【解决方案1】:

    假设您的图像是im。使用以下代码:

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

    【讨论】:

      【解决方案2】:

      重塑是危险的,因为它会混合图像的通道。

      相反,您需要将第一个轴向后滚动,而将其他两个轴保持原样。假设im是你的形状图像(3,224,224),那么滚动可以通过numpy.rollaxis来完成

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

      这样new_im.shape 就是(224, 224, 3)。这个数组应该可以使用matplotlib.pyplot.imshow()进行绘制

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-01-07
        • 2013-08-25
        • 2017-05-28
        • 2018-03-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多