base64圖片數據類型轉numpy的ndarray矩陣類型數據


1、兩種方法如下鏈接

https://www.cnblogs.com/mtcnn/p/9411683.html

 

2、第一種方法:

# coding: utf-8
# python base64 編解碼,轉換成Opencv,PIL.Image圖片格式
import base64
import io
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt

img_file = open(r'images/mingong.jpg','rb')   # 二進制打開圖片文件
img_b64encode = base64.b64encode(img_file.read())  # base64編碼
img_file.close()  # 文件關閉
img_b64decode = base64.b64decode(img_b64encode)  # base64解碼

image = io.BytesIO(img_b64decode)
print(image)
img = np.array(Image.open(image))
# imgs = plt.imread(image)
# img.show()
print(img.shape)
plt.imshow(img)
plt.show()

3、第二種方法

import base64
import numpy as np
import matplotlib.pyplot as plt
import cv2

with open(r'images/flim.png','rb') as img_file:   # 二進制打開圖片文件
   img_b64encode = base64.b64encode(img_file.read())  # base64編碼
   #img_file.close()  # 文件關閉
# print(img_b64encode)
img_b64decode = base64.b64decode(img_b64encode)  # base64解碼

# with open('./f.png','wb') as f:
#     f.write(img_b64decode)

# img_array = np.fromstring(img_b64decode,np.uint8) # 轉換np序列
# img=cv2.imdecode(img_array,cv2.COLOR_BGR2RGB)  # 轉換Opencv格式
# cv2.imshow("img",img)
# cv2.waitKey()

img_array = np.fromstring(img_b64decode,np.uint8)

print(len(img_array))
img=cv2.imdecode(img_array,cv2.COLOR_BGR2RGB)
print(np.array(img).shape)
plt.imshow(img)
plt.show()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM