Palm-Identification / deploypalm.py
lily-hust's picture
Upload 6 files
0649958
raw
history blame
No virus
1.35 kB
import os
import streamlit as st
import cv2
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 "Brows files" multiple times until adding all images before generating prediction.\n')
uploaded_file = st.file_uploader("Upload an image file", type="jpg")
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)]))