import gradio as gr from skimage import io from pyxelate import Pyx, Pal from uuid import uuid1 from PIL import Image import os def pixel(image,downsample,palette,depth,upscale): #image = io.imread(image.name) path = "{}.png".format(uuid1()) Image.fromarray(image).save(path) image = io.imread(path) os.remove(path) downsample_by = int(downsample) # new image will be 1/14th of the original in size palette = int(palette) # find 7 colors # 1) Instantiate Pyx transformer pyx = Pyx(factor=downsample_by, palette=palette,depth=int(depth),upscale = int(upscale)) # 2) fit an image, allow Pyxelate to learn the color palette pyx.fit(image) # 3) transform image to pixel art using the learned color palette new_image = pyx.transform(image) # save new image with 'skimage.io.imsave()' io.imsave("pixel.png", new_image) return "pixel.png" title = "Pixelar Imagen" description = "" article = "" with gr.Blocks() as demo: gr.HTML("