2019-02-25

Python 將 Base64 字串還原為圖片

取得 Base64 格式

從網站取得

import base64

img_data_base64 =  request.POST.get("img_data")
img_b64decode = base64.b64decode(img_data_base64)

從檔案取得 Base64 然後將 base64 再解碼

import base64

img_file = open(r'image.jpg','rb')
img_b64encode = base64.b64encode(img_file.read())
img_file.close()
img_b64decode = base64.b64decode(img_b64encode)

Python 圖片 Base64 解碼還原 PIL.Image 或 Opencv

Base64 解碼為 OpenCV 圖片:

import base64
import numpy as np

img_data_base64=  request.POST.get("img_data")

img_data=base64.b64decode(img_data_base64) 
img_array = np.fromstring(img_data,np.uint8)  
img=cv2.imdecode(img_array,cv2.COLOR_BGR2RGB)
cv2.imshow("img",img)
cv2.waitKey()

Base64 解碼為 PIL.Image 圖片:

from io import BytesIO
from PIL import Image #pillow

img_data_base64=  request.POST.get("img_data")
img_data=base64.b64decode(img_data_base64) 
image = BytesIO(img_data)
img = Image.open(image)

OpenCV 轉換成 PIL.Image 格式:

import cv2  
from PIL import Image
import numpy as np

img = cv2.imread("image.jpg")
cv2.imshow("OpenCV",img)  
image = Image.fromarray(cv2.cvtColor(img,cv2.COLOR_BGR2RGB))  
image.show()  
cv2.waitKey()

PIL.Image 轉換成 OpenCV 格式:

import cv2  
from PIL import Image
import numpy as np

image = Image.open("image.jpg")  
image.show()  
img = cv2.cvtColor(np.asarray(image),cv2.COLOR_RGB2BGR)  
cv2.imshow("OpenCV",img)  
cv2.waitKey()  

參考資料來源: https://blog.csdn.net/dcrmg/article/details/80542665 https://blog.csdn.net/qq19707521/article/details/78403904 https://blog.csdn.net/qq19707521/article/details/78367617

沒有留言:

張貼留言