lily-hust's picture
Update app.py
82e5ca0
raw
history blame
1.38 kB
import streamlit as st
import cv2
import pandas
from PIL import Image
import numpy as np
import tensorflow as tf
from tensorflow.keras.applications.resnet50 import preprocess_input
from tensorflow.keras.preprocessing.image import img_to_array
st.title('Palm Identification')
st.markdown("This is a Deep Learning application to identify if a satellite image clip contains Palm trees.\n")
st.markdown('The predicting result will be "Palm", or "Others".')
st.markdown('You can click "Browse files" multiple times until adding all images before generating prediction.\n')
uploaded_file = st.file_uploader("Upload an image file", type="jpg", accept_multiple_files=True)
st.image(uploaded_file, width=100)
img_height = 224
img_width = 224
class_names = ['Palm', 'Others']
model = tf.keras.models.load_model('model')
if uploaded_file is not None:
Generate_pred = st.button("Generate Prediction")
if Generate_pred:
for file in uploaded_file:
img = Image.open(file)
img_array = img_to_array(img)
img_array = tf.expand_dims(img_array, axis = 0) # Create a batch
processed_image = preprocess_input(img_array)
predictions = model.predict(processed_image)
score = predictions[0]
st.markdown("Predicted class of the image {} is : {}".format(file, class_names[np.argmax(score)]))