You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用PIL从Google Cloud Storage读取图片路径进行文本标注?

如何用PIL打开Google Cloud Storage中的图片

PIL的Image.open()不支持直接读取GCS的gs://路径,你可以用以下两种方案解决:

方案1:下载到本地临时文件后打开

借助google-cloud-storage库把GCS上的图片下载到本地临时路径,再用PIL读取:

from google.cloud import storage
from PIL import Image

# 初始化GCS客户端
storage_client = storage.Client()
bucket_name = "img_platecapture"
blob_name = "img_001.jpg"

# 获取对应存储桶和文件
bucket = storage_client.bucket(bucket_name)
blob = bucket.blob(blob_name)

# 下载到本地临时文件(可自定义路径)
local_temp_path = "/tmp/img_001.jpg"
blob.download_to_filename(local_temp_path)

# 用PIL打开本地文件
img = Image.open(local_temp_path)

方案2:直接读取二进制流(无需本地存储)

通过GCS的API获取图片二进制数据,用BytesIO包装后传给PIL,避免本地存储开销:

from google.cloud import storage
from PIL import Image
from io import BytesIO

storage_client = storage.Client()
bucket_name = "img_platecapture"
blob_name = "img_001.jpg"

bucket = storage_client.bucket(bucket_name)
blob = bucket.blob(blob_name)

# 获取图片二进制数据并转为可读取的流对象
img_binary = blob.download_as_bytes()
img = Image.open(BytesIO(img_binary))

注意事项

  • 确保代码运行环境已配置Google Cloud认证(比如设置GOOGLE_APPLICATION_CREDENTIALS环境变量指向服务账号密钥文件)
  • 服务账号需要拥有目标GCS存储桶的读取权限

内容的提问来源于stack exchange,提问作者april

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 19:35:29