使用matplotlib,可以将图像保存为特定大小
这是一个例子
diamond = np.array([[ 0, 0, 0, 0, 255, 0, 0, 0, 0],
[ 0, 0, 0, 255, 0, 255, 0, 0, 0],
[ 0, 0, 255, 0, 0, 0, 255, 0, 0],
[ 0, 255, 0, 0, 0, 0, 0, 255, 0],
[255, 0, 0, 0, 0, 0, 0, 0, 255],
[ 0, 255, 0, 0, 0, 0, 0, 255, 0],
[ 0, 0, 255, 0, 0, 0, 255, 0, 0],
[ 0, 0, 0, 255, 0, 255, 0, 0, 0],
[ 0, 0, 0, 0, 255, 0, 0, 0, 0]], dtype=uint8)
使用此数组,我们可以将图像保存到磁盘
size = 36
my_dpi = mpl.rcParams['figure.dpi']
plt.subplots(figsize=(size/my_dpi, size/my_dpi))
plt.axis('off')
plt.imshow(diamond, cmap=mpl.cm.binary)
plt.savefig('diamond.png')
文件“ diamond.png”的分辨率为36 * 36。
类似的代码不适用于枕头
size = 36
my_dpi = mpl.rcParams['figure.dpi']
plt.subplots(figsize=(size/my_dpi, size/my_dpi))
plt.axis('off')
img = Image.fromarray(diamond, 'L')
img.save('diamond.jpg')
plt.imshow(img)
“ diamond.jpg”的分辨率为9 * 9。
有没有办法让枕头以36 * 36的分辨率保存图像?
答案 0 :(得分:0)
img.resize返回输入图像的调整大小的副本。
size = 36
my_dpi = mpl.rcParams['figure.dpi']
plt.subplots(figsize=(size/my_dpi, size/my_dpi))
plt.axis('off')
img = Image.fromarray(diamond, 'L')
img.resize((size,size)).save('diamond.ppm')
plt.imshow(img)