使用Python转换并成像为字符串?

时间:2014-08-16 13:28:40

标签: python

用c ++编写的外部应用程序要求我传入一个它能理解的图像对象,即使用tostring()方法,传入一个编码器和参数。

如何获取图像并将其转换为字符串(不将图像保存到文件中)?

image_url是在线实际图像的网址,即http://www.test.com/image1.jpg

这就是我的尝试:

def pass_image(image_url):

    import base64
    str = base64.b64encode(image_url.read())


    app = subprocess.Popen("externalApp",
                            in=subprocess.PIPE,
                            out=subprocess.PIPE)
    app.in.write(str)
    app.in.close()

我还尝试打开图片进行转换

image = Image.open(image_url)

但得到错误

file()参数1必须是没有NULL字节的编码字符串,而不是str

1 个答案:

答案 0 :(得分:2)

我认为您可以使用requests.get获取在线图片。

您的代码将是这样的:

def pass_image(image_url):

    import base64
    import requests
    str = base64.b64encode(requests.get(image_url).content)