Spaces:
Runtime error
Runtime error
#Library imports | |
import numpy as np | |
import streamlit as st | |
import cv2 | |
from keras.models import load_model | |
#Loading the Model | |
model = load_model('soils.h5') | |
#Name of Classes | |
CLASS_NAMES = ['Acrisols', 'Fluvisols', 'Ferrasols'] | |
#Setting Title of App | |
st.title("Soils classification") | |
st.markdown("Upload an image of the soil") | |
#Uploading the soil image | |
soil_image = st.file_uploader("Choose an image...", type="jpg") | |
submit = st.button('Predict') | |
#On predict button click | |
if submit: | |
if soil_image is not None: | |
# Convert the file to an opencv image. | |
file_bytes = np.asarray(bytearray(soil_image.read()), dtype=np.uint8) | |
opencv_image = cv2.imdecode(file_bytes, 1) | |
# Displaying the image | |
st.image(opencv_image, channels="BGR") | |
st.write(opencv_image.shape) | |
#Resizing the image | |
opencv_image = cv2.resize(opencv_image, (256,256)) | |
#Convert image to 4 Dimension | |
opencv_image.shape = (1,256,256,3) | |
#Make Prediction | |
Y_pred = model.predict(opencv_image) | |
result = CLASS_NAMES[np.argmax(Y_pred)] | |
st.title(str("This is {}".format(result))) |