webkal88 / app.py
Clemenz88's picture
Upload 5 files
cbd7eaa verified
raw
history blame
1.45 kB
import streamlit as st
from utils.image_utils import load_image, detect_hand_and_food_area
from utils.model import load_model, classify_food
from utils.matcher import oversæt_fuzzy
@st.cache_resource
def load_model_cached():
return load_model()
st.title("Kalorieestimering fra billede")
uploaded_file = st.file_uploader("Upload et billede", type=["jpg", "jpeg", "png"])
if uploaded_file:
image = load_image(uploaded_file)
st.image(image, caption="Dit billede", use_column_width=True)
with st.spinner("Analyserer billede..."):
hand_img, food_area = detect_hand_and_food_area(image)
processor, model = load_model_cached()
prediction, confidence = classify_food(food_area, processor, model)
if confidence < 0.7:
st.warning("Modelen er ikke sikker – vælg manuelt:")
prediction = st.selectbox("Vælg fødevare", ["æg", "kartoffel", "smør", "broccoli"])
else:
st.success(f"Modelen gættede: {prediction} ({confidence*100:.1f}%)")
gram = st.number_input(f"Hvor mange gram {prediction}?", min_value=1, max_value=1000, value=100)
# Analyse
st.markdown("### Analyse af måltid:")
st.markdown(f"- {gram} g {prediction}")
# Feedback
st.markdown("### Giv feedback")
feedback = st.radio("Er gættet korrekt?", ["Ja", "Nej"])
kommentar = st.text_input("Evt. kommentar")
if st.button("Send feedback"):
st.success("Tak for din feedback!")