如何获取图像的图像大小并使用它命名图像

2024-09-29 21:39:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要从互联网上下载一幅图像,并以其尺寸命名,比如1920 x 1080。 我设法将图像下载到本地计算机,但我不确定在下载图像之前如何获取图像尺寸。 我在想也许我可以下载图像,使用PIL获取图像尺寸,重新下载图像,然后删除旧图像,但这需要更长的时间

for landcover in data['results']:
  siteId = landcover['siteId']
  measuredDate = landcover['measuredDate']
  latitude = landcover['latitude']
  longitude = landcover['longitude']
  protocol = landcover['protocol']
  DownURL = landcover['data']['landcoversDownwardPhotoUrl']
  EastURL = landcover['data']['landcoversEastPhotoUrl']

  r = requests.get(EastURL)
  with open('GLOBEObserver_' + str(userid) + '_' + str(siteId) + '_' + protocol + '_' + str(latitude) + '_' + str(longitude) + '_' + str(measuredDate) + '_' + str(width) + '_' + str(height) + 'East.jpg', 'wb') as f:
    f.write(r.content)

Tags: 图像data尺寸计算机互联网protocol命名latitude
1条回答
网友
1楼 · 发布于 2024-09-29 21:39:00

实际上,步骤如下:

  1. 获取图像的字节数
  2. 使用PIL将其(bytes)转换为PIL.Image(对象)
  3. 获取对象的大小
  4. 本地保存对象

简单的例子:

import requests
import io
import PIL

response = requests.get(url) # make sure it is the url of the image
image_bytes = response.content

# convert the bytes to image
image = Image.open(io.BytesIO(image_bytes))
width, height = image.size
# save it
image.save(f"{width}x{height}.jpg")

相关问题 更多 >

    热门问题