kualitas_daging / app.py
asaderu's picture
Update app.py
54bea6e
import numpy as np
import gradio as gr
import imutils
import matplotlib.pyplot as plt
import cv2
import numpy as np
from tensorflow.keras.preprocessing.image import img_to_array
from tensorflow.keras.models import load_model
import pickle
model = load_model('daging128.model')
mlb = pickle.loads(open('daging128.pickle', "rb").read())
labl = ['Busuk', 'Segar', 'Setengah']
def gambaran(image):
output = imutils.resize(image, width=400)
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)
image = cv2.resize(image, (128, 128))
image = image.astype("float") / 255.0
image = img_to_array(image)
image = np.expand_dims(image, axis=0)
proba = model.predict(image)[0]
idxs = np.argsort(proba)[::-1][:2]
print(labl[idxs[0]])
for (i, j) in enumerate(idxs):
label = "{}: {:.2f}%".format(mlb.classes_[j], proba[j] * 100)
cv2.putText(output, label, (10, (i * 30) + 25),
cv2.FONT_HERSHEY_SIMPLEX, 0.7, (0, 255, 0), 2)
return output
demo = gr.Interface(gambaran, gr.Image(), "image")
demo.launch()