PIL 和 python-opencv 從內存字節碼中讀取圖片並轉為np.array格式


把某個RGB格式的圖片以字節碼的形式讀入到內存中,然后使用PIL 和 CV2 來進行讀寫,並轉成np.array 格式。

 

 

 

代碼:

from PIL import Image
import cv2
import numpy as np

from io import BytesIO


f_path = '/home/devil/x.JPEG'

img = Image.open(f_path)
img_array = np.array(img.convert('RGB'))


f_bytes = open(f_path, 'rb').read()


img_array2 = Image.open(BytesIO(f_bytes))
img_array2 = np.asarray(img_array2, np.uint8)
# f_array_bytes = np.asarray(bytearray(f_bytes),np.uint8) f_array_bytes = np.frombuffer(f_bytes, np.uint8) img_array3 = cv2.cvtColor(cv2.imdecode(f_array_bytes, cv2.IMREAD_COLOR), cv2.COLOR_BGR2RGB) print(np.all(img_array==img_array2)) print(np.all(img_array==img_array3))

 

 

 

 

 

==============================================

 


免責聲明!

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



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