1.bytes与base64互转
# bytes转base64
image_base4 = base64.b64encode(image_bytes).decode('utf8')
# base64转bytes
image_bytes = base64.b64decode(image_base64)
2.bytes与Image对象互转
#将bytes结果转化为Image
bytes_stream = io.BytesIO(result)
roiimg = Image.open(bytes_stream)
# 将Image转为bytes
img = Image.open(img_path, mode='r')
imgByteArr = io.BytesIO()
3.bytes与CV2对象互转
# cv2图片对象转为bytes
img = cv2.imread(img_path)
array_bytes = img.tobytes()
# bytes转为cv2图片对象
img_buffer_numpy = np.frombuffer(img_bytes, dtype=np.uint8)
img_numpy = cv2.imdecode(img_buffer_numpy, 1)
4.base64与Image对象互转
# Image转base64
img_buffer = io.BytesIO()
image.save(img_buffer, format='JPEG')
byte_data = img_buffer.getvalue()
base64_str = base64.b64encode(byte_data)
# base64转Image
image = base64.b64decode(base64_str)
image = BytesIO(image)
image = Image.open(image)
5.base64与cv2对象互转
#cv2转base64
base64_str = cv2.imencode('.jpg',image)[1].tostring()
base64_str = base64.b64encode(base64_str)
#base64转cv2
imgString = base64.b64decode(base64_str)
nparr = np.fromstring(imgString,np.uint8)
image = cv2.imdecode(nparr,cv2.IMREAD_COLOR)
6.image与cv2对象互转
# Iamge 转 cv2
img = Image.open("test.jpg")
img = cv2.cvtColor(np.asarray(img), cv2.COLOR_RGB2BGR)
# cv2 转 Image
img = cv2.imread("test.jpg")
img = Image.fromarray(cv2.cvtColor(img,cv2.COLOR_BGR2RGB))