이미지 형식 변환 : base64, PIL 이미지 opencv cv2 변환
base64에서 PIL 이미지로
import base64
from io import BytesIO
from PIL import Image
with open("test.jpg", "rb") as f:
im_b64 = base64.b64encode(f.read())
im_bytes = base64.b64decode(im_b64) # im_bytes is a binary image
im_file = BytesIO(im_bytes) # convert image to file-like object
img = Image.open(im_file) # img is now PIL Image object
base64에서 OpenCV 이미지로
import base64
import numpy as np
import cv2
with open("test.jpg", "rb") as f:
im_b64 = base64.b64encode(f.read())
im_bytes = base64.b64decode(im_b64)
im_arr = np.frombuffer(im_bytes, dtype=np.uint8) # im_arr is one-dim Numpy array
img = cv2.imdecode(im_arr, flags=cv2.IMREAD_COLOR)
PIL 이미지를 base64로
import base64
from io import BytesIO
from PIL import Image
img = Image.open('test.jpg')
im_file = BytestIO()
img.save(im_file, format="JPEG")
im_bytes = im_file.getvalue() # im_bytes: image in binary format.
im_b64 = base64.b64encode(im_bytes)
OpenCV에서 base64 이미지로
import base64
import numpy as np
import cv2
img = cv2.imread('test.jpg')
_, im_arr = cv2.imencode('.jpg', img) # im_arr: image in Numpy one-dim array format.
im_bytes = im_arr.tobytes()
im_b64 = base64.b64encode(im_bytes)