|
import streamlit as st |
|
from PIL import Image |
|
from transformers import pipeline |
|
|
|
|
|
classifier = pipeline("image-classification", model="https://teachablemachine.withgoogle.com/models/lcNO3nb0s/") |
|
|
|
st.title("Korean Jelly Identifier") |
|
|
|
uploaded_file = st.file_uploader("Choose an image...", type="jpg") |
|
|
|
if uploaded_file is not None: |
|
image = Image.open(uploaded_file) |
|
st.image(image, caption='Uploaded Image.', use_column_width=True) |
|
st.write("") |
|
st.write("Classifying...") |
|
|
|
|
|
results = classifier(image) |
|
|
|
jelly_type = results[0]['label'] |
|
sugar_level = get_sugar_level(jelly_type) |
|
hazard = get_hazard_level(sugar_level) |
|
|
|
st.write(f'Jelly Type: {jelly_type}') |
|
st.write(f'Sugar Level: {sugar_level}') |
|
st.write(f'Hazard: {hazard}') |
|
|
|
def get_sugar_level(jelly_type): |
|
|
|
sugar_data = { |
|
'jellyA': 10, |
|
'jellyB': 20, |
|
'jellyC': 30 |
|
} |
|
return sugar_data.get(jelly_type, 0) |
|
|
|
def get_hazard_level(sugar_level): |
|
if sugar_level > 25: |
|
return 'Red (High Hazard)' |
|
elif sugar_level > 15: |
|
return 'Yellow (Moderate Hazard)' |
|
else: |
|
return 'Green (Low Hazard)' |
|
|