import joblib import streamlit as st from prediction import predict_single_image knn_model = joblib.load('models/knn_model.joblib') svm_model = joblib.load('models/svm_model.joblib') random_forest_model = joblib.load('models/random_forest_model.joblib') def show_error_popup(message): st.error(message, icon="🚨") st.set_page_config(layout="wide") st.title('CASIA PALMPRINT DATASET') st.markdown('By Yash Patel') st.header('Add Palmprint Image') uploaded_file = st.file_uploader("Choose an image", type=["jpg", "png", "jpeg"]) st.header("Available Models") option = st.selectbox( "Available Models", ("SVM", "KNN","Random Forest"), ) predicted_label ="" col1, col2= st.columns(2) if uploaded_file is not None: with col1: image_data = uploaded_file.read() st.image(image_data, caption="Uploaded Image") with col2: if option=="SVM": predicted_label = predict_single_image(svm_model,image_data) elif option=="KNN": predicted_label = predict_single_image(knn_model, image_data) elif option=="Random Forest": predicted_label = predict_single_image(random_forest_model, image_data) else: p = "Other Models are still under training due to overfitting" print(predicted_label) st.markdown(""" """, unsafe_allow_html=True) st.markdown(f'
{predicted_label}
', unsafe_allow_html=True) else: show_error_popup("Please Upload Image...")