图片在字节流与base64之间的相互转换

1.pillow将图片转换成字节流

from PIL import Image

import io

import base64

img = Image.open("1.jpg")

imgByteArr = io.BytesIO()

img.save(imgByteArr, format='JPEG')

imgByteArr = imgByteArr.getvalue()

2.pillow将二进制转换成图片

img = Image.fromarray(data)

img.save("1.jpg", quality=100)

3.base64将imagebase64转换成图片

avatar_str = data.replace('data:image/png;base64,', '')

avatar_bytes = base64.b64decode(avatar_str)

with open('1.png', 'wb+') as fp:

        fp.write(avatar_bytes)

4.将图片转换成imagebase64

        png = open('1.png','rb')

        res = png.read()

        s = base64.b64encode(res)

        data = 'data:image/png;base64,' + s

5.将二进制字节转换成opencv读取的格式

image_data = BytesIO(data)

img = Image.open(image_data)

query = np.asarray(img)

cv2.imwrite('a.jpg', query)

猜你喜欢

转载自blog.csdn.net/jiulinghouxiao/article/details/125936603