Python 如何将png读入预定义值为“的n x n数组”;";在matplotlib中使用imread

Python 如何将png读入预定义值为“的n x n数组”;";在matplotlib中使用imread,python,arrays,numpy,matplotlib,imread,Python,Arrays,Numpy,Matplotlib,Imread,以下内容将png读入数组: import matplotlib.pyplot as plt import matplotlib.image as mpimg import numpy as np img=mpimg.imread('example.png') 结果是数组img,例如1024 x 1024元组数组(请参阅): 如何强制执行,我的结果是一个n x n数组(元组),而不是1024 x 1024数组(n我建议安装枕头(最好使用)。它使图像处理变得容易-比将图像作为原始阵列更容易 一旦

以下内容将png读入数组:

import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np

img=mpimg.imread('example.png')
结果是数组
img
,例如1024 x 1024元组数组(请参阅):


如何强制执行,我的结果是一个n x n数组(元组),而不是1024 x 1024数组(n我建议安装
枕头
(最好使用)。它使图像处理变得容易-比将图像作为原始
阵列
更容易

一旦安装了
枕头
,这个答案应该会有帮助:

如果您确实希望将其保留为一个数组,那么可以使用

编辑添加实际有效的内容,以防其他人错过:

import scipy.misc
img_rescaled = scipy.misc.imresize(img, size=[400,400], interp='bilinear')

对不起,我不太明白。你得到的数组的元素数与图像中的像素数相同。你想调整它的大小吗?裁剪它吗?是的,我需要将它保留为数组供以后使用。你建议使用
scipy.misc.imresize
效果非常好,我刚刚添加了
img\u rescaled=scipy.misc.imresize(img,[400400],interp='bilinear',mode=None)
来获取我想要的。谢谢