Python-使用URL以二进制模式打开图像

问题描述 投票:0回答:1

我有一个片段在本地读取我的图像(返回二进制),即:

image = 'car.jpg'
with open(image, 'rb') as image_file:
    content = image_file.read()

我正在尝试重新创建相同的图像,但是使用Internet上托管的图像,我尝试了以下方法,但是我没有运气。

from urllib.request import  urlopen
from PIL import Image
import io

url = 'https://somewebsite.com/fm-01/car.jpg'

image = urlopen(url)
image_file = io.BytesIO(image.read())
im = Image.open(image_file)
im = im.tobytes()

编辑...

同一张图片,一张在Google云存储上,另一张在本地。打开它们时,它们具有不同的字节。

with open('car.jpg','rb') as image_file:
    content = image_file.read()
    print(len(content))

大小:234712

url = 'https://storage.googleapis.com/fm-01/car.jpg'
img = Image.open(urlopen(url))
image = img.tobytes()
print(len(image))

大小:1077600

python python-imaging-library google-cloud-vision python-imageio
1个回答
0
投票

很简单:

from urllib.request import urlopen
from PIL import Image

url = 'https://somewebsite.com/fm-01/car.jpg'

img = Image.open(urlopen(url))
© www.soinside.com 2019 - 2024. All rights reserved.