如何对 Google 云存储中存储的文件使用 cv2.imread?
How do I use cv2.imread on a file stored in Google Cloud Storage?
假设我在 google 云存储 gs://example-bucket/testing_data
上的以下 URL 存储了一张名为 sunset.jpg 的图片
所以图片的完整 URL 是:
gs://example-bucket/testing_data/sunset.jpg
如果我然后做类似的事情:
image = cv2.imread('gs://example-bucket/testing_data/sunset.jpg')
但是虽然这不会崩溃或失败,但不会加载任何图像。我如何access/provide对URL到cv2.imread做到这一点??
import cv2
import numpy as np
import urllib
url = "https://i.stack.imgur.com/AVWX7.jpg";
resp = urllib.urlopen(url)
image = np.asarray(bytearray(resp.read()), dtype="uint8")
image = cv2.imdecode(image, cv2.IMREAD_COLOR)
将 gs 转换为普通 URL。
bucket = 'example-bucket'
file = 'sunset.jpg'
gcs_url = 'https://%(bucket)s.storage.googleapis.com/%(file)s' % {'bucket':bucket, 'file':file}
print gcs_url
假设我在 google 云存储 gs://example-bucket/testing_data
上的以下 URL 存储了一张名为 sunset.jpg 的图片所以图片的完整 URL 是:
gs://example-bucket/testing_data/sunset.jpg
如果我然后做类似的事情:
image = cv2.imread('gs://example-bucket/testing_data/sunset.jpg')
但是虽然这不会崩溃或失败,但不会加载任何图像。我如何access/provide对URL到cv2.imread做到这一点??
import cv2
import numpy as np
import urllib
url = "https://i.stack.imgur.com/AVWX7.jpg";
resp = urllib.urlopen(url)
image = np.asarray(bytearray(resp.read()), dtype="uint8")
image = cv2.imdecode(image, cv2.IMREAD_COLOR)
将 gs 转换为普通 URL。
bucket = 'example-bucket'
file = 'sunset.jpg'
gcs_url = 'https://%(bucket)s.storage.googleapis.com/%(file)s' % {'bucket':bucket, 'file':file}
print gcs_url