欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python如何讀取base64圖片數(shù)據(jù)

 更新時間:2024年09月24日 08:39:24   作者:Covirtue  
在Python中,使用base64模塊可以解碼Base64編碼的圖片數(shù)據(jù),首先需要去除Base64字符串的前綴,然后使用base64.b64decode()函數(shù)進(jìn)行解碼,最后將解碼后的數(shù)據(jù)保存為圖片文件,適用于各種MIME類型的Base64編碼

Python讀取base64圖片數(shù)據(jù)

在Python中,可以使用base64模塊來解碼Base64編碼的字符串,并將其轉(zhuǎn)換回原始的數(shù)據(jù)(如圖片)。

但通常,Base64編碼的圖片字符串會帶有前綴(如data:image/jpeg;base64,),需要先去掉這個前綴再進(jìn)行解碼。

一個簡單的例子

展示如何從Base64編碼的字符串中讀取并保存圖片:

import base64
import io
from PIL import Image

# 假設(shè)有一個Base64編碼的圖片字符串,這里我們使用一個簡化的示例
base64_str = "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAAAAAAAD/4gIoSUNDX1BST0ZJTEUAAQEAAAIYAAAAAAIQAABtbnRyUkdCIFhZJiouMjY7...(此處省略其他Base64編碼的內(nèi)容)"

# 去掉前綴('data:image/jpeg;base64,')
base64_data = base64_str.split(',')[1]

# 解碼Base64數(shù)據(jù)
image_bytes = base64.b64decode(base64_data)

# 將字節(jié)數(shù)據(jù)轉(zhuǎn)換為BytesIO對象
image_io = io.BytesIO(image_bytes)

# 使用PIL庫讀取圖片
image = Image.open(image_io)

# 保存圖片到文件
image.save('output.jpg')

注意:上面的Base64字符串base64_str只是一個示例,需要將其替換為實際的Base64編碼的圖片字符串。

而且,Base64字符串可能以不同的MIME類型開始(如data:image/png;base64,),需要相應(yīng)地調(diào)整代碼以匹配的字符串。

使用場景

以下是百度Aistudio部署的應(yīng)用為例:

# 獲取base64圖片數(shù)據(jù)
import requests

def query(payload, token='你自己的token令牌', appCode='你的appCode'):
    API_URL = f"https://{appCode}.aistudio-hub.baidu.com/image/generations"
    headers = {
        # 請前往 https://aistudio.baidu.com/index/accessToken 查看 訪問令牌
        "Authorization": f"token {token}",
        "Content-Type": "application/json"
    }
    response = requests.post(API_URL, headers=headers, json=payload)
    return response.json()

def access_image(prompt):
    output = query({
        "prompt": f"{prompt}"
    })
    return output['data'][0]["b64_image"]
# base64數(shù)據(jù)轉(zhuǎn)圖片
import base64  
import io  
from PIL import Image  


def decode_b64_image(base64_data):
    # 解碼Base64數(shù)據(jù)  
    image_bytes = base64.b64decode(base64_data)  

    # 將字節(jié)數(shù)據(jù)轉(zhuǎn)換為BytesIO對象  
    image_io = io.BytesIO(image_bytes)  
    
    # 使用PIL庫讀取圖片  
    image = Image.open(image_io)  
    
    # 保存圖片到文件  
    # image.save('output.jpg')
    return image
# 調(diào)用函數(shù)
prompt = "杰作,高品質(zhì),超精細(xì),全細(xì)節(jié),8k"
base64_image = access_image(prompt)
decode_b64_image(base64_image)

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論