我将写一个需要大量使用图片的应用程序。该应用程序由两部分组成,客户端部分由Python编写。它对图像进行一些预处理,并通过TCP发送到Node.js服务器。在预处理之后,Image对象如下所示:
window = img.crop((x,y,width+x,height+y))
window = window.resize((48,48),Image.ANTIALIAS)
为了通过套接字发送数据,我必须将其转换为二进制格式。现在我正在执行以下操作:
window.save("window.jpg")
infile = open("window.jpg","rb")
encodedWindow = base64.b64encode(infile.read())
#Then send encodedWindow
然而,这种方法的缺点很明显:我需要先将图像保存到硬盘上,再重新加载它以获得二进制格式。这对我的应用程序来说是一个巨大的负担,导致它变得非常慢。
我阅读了PIL Image的文档,但没有找到有用的信息。