[Python] Upload ndarray(image in OpenCV) on to google cloud storage as a .jpg or .png

Discussão em 'Python' iniciado por Stack, Julho 24, 2025.

  1. Stack

    Stack Membro Participativo

    I have a similar issues like How to upload a bytes image on Google Cloud Storage from a Python script.

    I tried this

    from google.cloud import storage
    import cv2
    from tempfile import TemporaryFile
    import google.auth
    credentials, project = google.auth.default()
    client = storage.Client()
    # https://console.cloud.google.com/storage/browser/[bucket-id]/
    bucket = client.get_bucket('document')
    # Then do other things...
    image=cv2.imread('/Users/santhoshdc/Documents/Realtest/15.jpg')
    with TemporaryFile() as gcs_image:
    image.tofile(gcs_image)
    blob = bucket.get_blob(gcs_image)
    print(blob.download_as_string())
    blob.upload_from_string('New contents!')
    blob2 = bucket.blob('document/operations/15.png')

    blob2.upload_from_filename(filename='gcs_image')


    This is the error that's posing up

    > Traceback (most recent call last): File
    > "/Users/santhoshdc/Documents/ImageShapeSize/imageGcloudStorageUpload.py",
    > line 13, in <module>
    > blob = bucket.get_blob(gcs_image) File "/Users/santhoshdc/.virtualenvs/test/lib/python3.6/site-packages/google/cloud/storage/bucket.py",
    > line 388, in get_blob
    > **kwargs) File "/Users/santhoshdc/.virtualenvs/test/lib/python3.6/site-packages/google/cloud/storage/blob.py",
    > line 151, in __init__
    > name = _bytes_to_unicode(name) File "/Users/santhoshdc/.virtualenvs/test/lib/python3.6/site-packages/google/cloud/_helpers.py",
    > line 377, in _bytes_to_unicode
    > raise ValueError('%r could not be converted to unicode' % (value,)) ValueError: <_io.BufferedRandom name=7> could not be
    > converted to unicode


    Can anyone guide me what's going wrong or what I'm doing incorrectly?

    Continue reading...

Compartilhe esta Página