python在内存中读取base64图片-skimage.io格式

本文介绍如何使用Python进行Base64编码和解码图像,包括使用skimage、matplotlib、opencv、numpy和PIL库将图像转换为Base64字符串,并将其还原为rgb、opencv和PIL.Image格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import base64
import skimage.io
import matplotlib.pyplot as plt


def base64_to_rgb(base64_str):
    """
    默认base64中的图像为rgb,直接转换成即可
    :param base64:
    :return:
    """
    if isinstance(base64_str, bytes):
        base64_str = base64_str.decode("utf-8")

    imgdata = base64.b64decode(base64_str)
    img = skimage.io.imread(imgdata, plugin='imageio')
    return img

base = 'R0lGODlhdQAmAKIAAOYyL+rU4llg6Jmd8e92dCky4eEGAv///yH5BAAAAAAALAAAAAB1ACYAAAP/eLrc/jC2IEoZMATJu/9gyFVWIUyksIls677LUJbrEcxWDe98f+CWk4I0w/iOSNANKJQBC8mo9LEEDp8F3XR7rOIU2Cx3jHwKsUKyWqRhEEvGN3xN91BoCq8l9tTW/244Rk4mOkBGgIl8VjF+d4V5A5KKf3IWiCCEOZRraGxP`在这里插入代码片`nGqeIZpzoVyjDBptDpYmp1yumI9BWq5QUQS6fn+lm3lYmLdSBsW8xcjJBgAABLwfAMhXRQt6ODWuJ8rb3AYK0d3h4OHIBC7jC0TCYb/ZB+Th3/Dc4/PmLOgSvkwK+xjMAAEmCwhQnrc8rFSxGkiwnoFnEnTp0mdqlJw0DgIggwgu/08xABM+KkhGJdm9JJqMhGkyQIAATA3HxVwATuO8jyQfECiXJyYzZwzyOSilcqWEmzkP1ES6LGmDcStshjspNJAgMOwwNmBajGZXGyJVhU22quxOaR7hrahqQ52DC1jh/nj1AG0Eux3BLgu59x3SkxHO9mVLhJfcirUc2IWA96vUbvf+QkNbldCgIGCKHi6h1e/Bu1+VOiYHYAVTwBHyCfWyocoZzZovbf3ok1njzx/IltUg+GG13twMfta0gdDruLH3MOD6uaPDcI8hCAZp4/k24elmtOacGXlcPAuYe/VmnVt0ncioTyeYU+ibQRWOHyCRXEz40BDyivYWYBzQAIbTbeBUNTIZRF1QlNlVimGdfffLSPg9oJ9+vVV4H23smWSgFqrZZc0AWiTWACMXcjAhfgAqgxpXKwDXDXbZsSPjVcth6NNtZj3nzCpM1dDfPDACM+OQ9l2I1HiPlfNceentMoGLygQp5Eq3aKfYaUgOdBIB9RyYSEsmvASiFgG0RMRLEK2RAAA7'

img = base64_to_rgb(base)
plt.imshow(img)
plt.show()

opencv格式

# coding: utf-8
import base64
import numpy as np
import cv2
 
img_file = open(r'00.JPG','rb')   # 二进制打开图片文件
img_b64encode = base64.b64encode(img_file.read())  # base64编码
img_file.close()  # 文件关闭
img_b64decode = base64.b64decode(img_b64encode)  # base64解码
 
img_array = np.fromstring(img_b64decode,np.uint8) # 转换np序列
img=cv2.imdecode(img_array,cv2.COLOR_BGR2RGB)  # 转换Opencv格式
 
cv2.imshow("img",img)
cv2.waitKey()

pIL格式

# coding: utf-8
# python base64 编解码,转换成Opencv,PIL.Image图片格式
import base64
import io
from PIL import Image
 
img_file = open(r'/home/dcrmg/work/medi_ocr_v1.2/img/00.JPG','rb')   # 二进制打开图片文件
img_b64encode = base64.b64encode(img_file.read())  # base64编码
img_file.close()  # 文件关闭
img_b64decode = base64.b64decode(img_b64encode)  # base64解码
 
image = io.BytesIO(img_b64decode)
img = Image.open(image)
img.show()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值