Hip-Implant / app.py
nishantguvvada's picture
Update app.py
343c9a4
raw
history blame
1.49 kB
import streamlit as st
import tensorflow as tf
import cv2
import numpy as np
from PIL import Image, ImageOps
import imageio.v3 as iio
#from io import BytesIO
@st.cache_resource()
def load_model():
model=tf.keras.models.load_model('./hip_impant_model.h5')
return model
with st.spinner('Model is being loaded..'):
model=load_model()
st.write("""
# Image Classification
"""
)
file = st.file_uploader("Upload an X-ray image", type= ['png', 'jpg'])
# def model_prediction(image, model):
# resize = tf.image.resize(image, (256,256))
# yhat = model.predict(np.expand_dims(resize/255, 0))
# if(yhat>0.5):
# result = "Prediction is loose"
# else:
# result = "Prediction is control"
# return result
def model_prediction(image, model):
item = cv2.resize(image,dsize=(256,256), interpolation=cv2.INTER_CUBIC)
yhat = model.predict(np.expand_dims(item/255, 0))
if(yhat>0.5):
result = "Prediction is loose"
else:
result = "Prediction is control"
return result
def on_click():
if file is None:
st.text("Please upload an image file")
else:
image = Image.open(file)
st.image(image, use_column_width=True)
img = iio.imread(file)
predictions = model_prediction(img, model)
st.write(prediction)
print(
"This image most likely belongs to {}."
.format(prediction)
)
st.button('Predict', on_click=on_click)