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)