sentinelScan / app /streamlit_app.py
Ramanuj-Sarkar's picture
Upload folder using huggingface_hub
f698f1c verified
import streamlit as st
import requests
import base64
from PIL import Image
import io
API_URL = "http://localhost:8000/predict"
st.set_page_config(page_title="SentinelScan", layout="centered")
st.title("🛰️ SentinelScan (Crack Detector v1)")
uploaded = st.file_uploader("Upload an inspection image", type=["jpg","jpeg","png"])
if uploaded:
st.subheader("Input")
st.image(uploaded, use_container_width=True)
if st.button("Analyze"):
files = {"file": (uploaded.name, uploaded.getvalue(), uploaded.type)}
with st.spinner("Running model..."):
r = requests.post(API_URL, files=files, timeout=60)
if r.status_code != 200:
st.error(r.text)
else:
out = r.json()
if "error" in out:
st.error(out["error"])
else:
st.subheader("Result")
st.write({
"crack_detected": out["crack_detected"],
"severity": out["severity"],
"confidence": out["confidence"],
"metrics": out["metrics"],
})
overlay_bytes = base64.b64decode(out["overlay_png_base64"])
overlay_img = Image.open(io.BytesIO(overlay_bytes))
st.image(overlay_img, caption="Crack overlay", use_container_width=True)