如何在不保存的情况下以数组格式创建图像?

时间:2014-12-08 22:45:19

标签: python

我想使用python / numpy创建单个字母的图像。

目前我已经得到了以下功能,但可能效率非常低,因为每次都需要保存图像。

plt.imshow(np.ones([2, 2, 3]))
plt.gca().axis('off')
plt.text(0, 0, 'hello', color='k', fontsize='18')
plt.gcf().savefig('imtest.png')
imtest = plt.imread('imtest.png') # <- final format I would like to have

我想知道你是否有任何关于如何“正确”做到这一点的建议。

我尝试使用PIL,但没有成功。

1 个答案:

答案 0 :(得分:0)

好的我觉得我找到了办法:

import PIL

img = PIL.Image.new('RGB', (200, 100))
d = PIL.ImageDraw.Draw(img)
d.text((20, 20), 'H', fill=(255, 255, 255))
img = np.asarray(img)

如果有人想出更好的答案,请告诉我。我应该说我不明白PIL是如何工作的,所以这是收集我在其他地方找到的代码。

http://matplotlib.org/users/image_tutorial.html

Python Imaging Library - Text rendering