Spaces:
No application file
No application file
File size: 933 Bytes
1f80199 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
import streamlit as st
import tempfile
import os
from utils.video_processing import process_video
st.set_page_config(page_title="Solar Panel Fault Detection - Drone Video", layout="wide")
st.title("๐น Solar Panel Fault Detection from Drone Video")
uploaded_video = st.file_uploader("Upload Drone Video (.mp4)", type=["mp4", "avi", "mov"])
if uploaded_video:
# Save to temp file
tfile = tempfile.NamedTemporaryFile(delete=False)
tfile.write(uploaded_video.read())
video_path = tfile.name
st.video(video_path)
with st.spinner("Processing video..."):
annotated_video_path, report = process_video(video_path)
st.subheader("๐ Fault Summary Report")
for entry in report:
st.markdown(f"- **{entry['type']}** at `{entry['location']}` (Frame: {entry['frame']}) | Confidence: {entry['confidence']:.2f}")
st.subheader("๐๏ธ Annotated Video")
st.video(annotated_video_path)
|