[记录]python保存RGB原始数据(数据来自网络)

通过socket或者http获取到的RGB原始数据,一般是一个byte数据,要保存为图片需要借助numpy和PIL:

from PIL import Image
import numpy as np

    async def on_message(self, message):
        len_msg = len(message)
        print("receive msg len = %s, type = %s" % (len_msg, type(message) ))
        if type(message) == str:
            pass
        else:
            data = zlib.decompress(message, 16 + zlib.MAX_WBITS)
            len_data = len(data)
            print("len_data = %s" % len_data)
            ut = int(time.time())
            file_name = str(ut) + ".bmp"
            save_to = 'static/camera/{}'.format(file_name)

            arr = np.frombuffer(data, dtype=np.uint8)
            arr = arr.reshape((960, 1280, 3))
            arr = Image.fromarray(arr)
            # 第一个参数为存储的地址和名称,第二个参数为存储的图片类型
            arr.save(save_to, 'bmp')
            pass
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页