Source code for backprop.utils.helpers

from PIL import Image
from io import BytesIO
from typing import Union, List
import base64
import os

[docs]def base64_to_img(image: Union[str, List[str]]): """ Returns PIL Image objects of base64 encoded images """ is_list = False if type(image) == list: is_list = True if not is_list: image = [image] images = [] for img in image: if not isinstance(img, Image.Image): # Not bytes if type(img) == str: img = img.split(",")[-1] img = BytesIO(base64.b64decode(img)) img = Image.open(img) images.append(img) if not is_list: images = images[0] return images
[docs]def path_to_img(image: Union[str, List[str]]): """ Returns PIL Image objects of paths to images """ is_list = False if type(image) == list: is_list = True if not is_list: image = [image] images = [] for img in image: if not isinstance(img, Image.Image): img = Image.open(img) images.append(img) if not is_list: images = images[0] return images
[docs]def img_to_base64(image: Union[Image.Image, List[Image.Image]]): """ Returns base64 encoded strings of PIL Image objects """ is_list = False if type(image) == list: is_list = True if not is_list: image = [image] images = [] for img in image: buffered = BytesIO() img.save(buffered, format=img.format) img = base64.b64encode(buffered.getvalue()) images.append(img) if not is_list: images = images[0] return images