如何使用 imread 在 matplotlib 中将 png 读入 n x n 数组,预定义值为 "n"
how to read in png into n x n-array with predefined value of "n" in matplotlib using 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 元组数组(参见 http://matplotlib.org/1.3.1/users/image_tutorial.html):
我如何强制我的结果是一个 n x n 数组(元组)而不是 1024 x 1024 数组(n<1024)?我需要明确定义该数组的维度(例如设置 400x400)。
提前致谢
我建议安装 pillow
(最好使用 Anaconda)。它使图像处理变得容易——比将图像视为原始图像更容易 ndarray
。
安装 pillow
后,此答案应该有所帮助:How do I resize an image using PIL and maintain its aspect ratio?
如果你真的想把它保存为一个数组,那么你可以使用 scipy.misc.imresize
.
编辑 添加实际有效的东西,以防其他人错过:
import scipy.misc
img_rescaled = scipy.misc.imresize(img, size=[400,400], interp='bilinear')
以下将 png 读入数组:
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
import numpy as np
img=mpimg.imread('example.png')
结果是数组img
,例如一个 1024 x 1024 元组数组(参见 http://matplotlib.org/1.3.1/users/image_tutorial.html):
我如何强制我的结果是一个 n x n 数组(元组)而不是 1024 x 1024 数组(n<1024)?我需要明确定义该数组的维度(例如设置 400x400)。
提前致谢
我建议安装 pillow
(最好使用 Anaconda)。它使图像处理变得容易——比将图像视为原始图像更容易 ndarray
。
安装 pillow
后,此答案应该有所帮助:How do I resize an image using PIL and maintain its aspect ratio?
如果你真的想把它保存为一个数组,那么你可以使用 scipy.misc.imresize
.
编辑 添加实际有效的东西,以防其他人错过:
import scipy.misc
img_rescaled = scipy.misc.imresize(img, size=[400,400], interp='bilinear')