ComicAvatar / app.py
Pranay009's picture
Update app.py
07b1db9 verified
Raw
History Blame Contribute Delete
1.84 kB
import gradio as gr
from src.Generator import Generator
import cv2
import numpy as np
from src.Generator import Generator
import tensorflow as tf
def image_preprocessing(img):
img=cv2.resize(img,(256,256))#resize image to 128*128
img=cv2.cvtColor(img,cv2.COLOR_BGR2RGB)#BGR to RGB
return img/255.0
def output_processing(img):
kernel = np.array([[-1,-1,-1], [-1,9,-1], [-1,-1,-1]])
im = cv2.filter2D(img, -1, kernel)
im = cv2.blur(im,(3,3))
return im
def generated_image(gen,data):
if len(data.shape)==3:
data=np.expand_dims(data,axis=0)
predict=gen.predict(data)
return predict
def comic_generator(image_path):
image=cv2.imread(image_path)
image=image_preprocessing(image)
model=Generator(256,256,3)
model.load_weights(r"./src/saved_model_v2/model.ckpt")
prediction=generated_image(model,image)
pred=output_processing(prediction[0])
#ret_img=cv2.cvtColor(prediction[0],cv2.COLOR_BGR2RGB)
return prediction[0]
#inputs = gr.inputs.Image(label="Input Image")
#outputs = gr.outputs.Image(label="Output Image")
title = "FACE2COMIC"
description = "Face to Comic Avatar Translation"
examples = [[r"./sampe_images/0.jpg"], [r"./sampe_images/1.jpg"],[r"./sampe_images/12.jpg"],[r"./sampe_images/13.jpg"], [r"./sampe_images/1001.jpg"],[r"./sampe_images/1009.jpg"],[r"./sampe_images/1037.jpg"],[r"./sampe_images/man_052.jpeg"],[r"./sampe_images/woman_0.58.jpeg"]]
gr.Interface(fn=comic_generator,
inputs=gr.Image(type="filepath",label="Input",scale=True, width=256, height=256),
outputs=gr.Image(type="numpy",label="Output",scale=True, width=256, height=256),
title=title,
description=description,
examples=examples,
# max_output_size=(256,256)
).launch(share=False)