| import numpy as np | |
| import cv2 as cv2 | |
| from tensorflow import keras | |
| import gradio as gr | |
| import matplotlib.pyplot as plt | |
| import os | |
| model = keras.models.load_model('./model1.h5') | |
| def pipeline(img_path, model= model): | |
| img = plt.imread(img_path) | |
| width = 96 | |
| height = 96 | |
| dim = (width, height) | |
| resized = cv2.resize(img, dim, interpolation = cv2.INTER_AREA) | |
| resized_gray = cv2.cvtColor(resized, cv2.COLOR_BGR2GRAY) | |
| formato = resized_gray.reshape(96,96,1) | |
| formato = np.repeat(formato, 3, axis=2) | |
| formato = np.expand_dims(formato,0) | |
| puntos = model.predict(formato) | |
| plt.imshow(resized) | |
| for i in range(1,31,2): | |
| plt.plot(puntos[0][i-1], puntos[0][i], 'ro') | |
| plt.savefig('tran.jpg') | |
| img = cv2.imread('tran.jpg') | |
| img = cv2.cvtColor(img, cv2.COLOR_RGB2BGR) | |
| os.remove('tran.jpg') | |
| plt.clf() | |
| return img | |
| examples=[] | |
| examples.append("./1.png") | |
| examples.append("./2.png") | |
| examples.append("./3.png") | |
| examples.append("./4.png") | |
| examples.append("./5.png") | |
| gr.Interface( | |
| pipeline, | |
| inputs=gr.inputs.Image(label="Upload THE FACEEEEOOOO", type="filepath"), | |
| outputs=gr.outputs.Image(type="numpy"), | |
| title="point on your uglo face >:(", | |
| examples=examples | |
| ).launch() |