opencv中rgb格式数据和base64数据转换

最近在做一个项目,需要将base64转成图片rgb格式。

一般的做法是将base64字符串先解码写入文件,然后再去cv2.imread读取图片。这样就绕弯了,如果能够从base64直接转为imread得到的rbg矩阵,就会节省时间开销,具体做法比较简单:

def base64_to_image(base64_code):
    """将base64的数据转换成rgb格式的图像矩阵"""
    img_data = base64.b64decode(base64_code)
    img_array = np.fromstring(img_data, np.uint8)
    img = cv2.imdecode(img_array, cv2.IMREAD_COLOR)

    return img

传入的base64字符串,得到的是rgb格式的数据。

那反过来该怎么做呢?

从rgb格式的图像矩阵到base64字符串,需要进行下面转换:

def image_to_base64(img):
    image = cv2.imencode('.jpg',img)[1]
    image_code = str(base64.b64encode(image))

    return image_code

介绍完毕!

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值