alexrods's picture
Update app.py
cd63ff8
import cv2
import tempfile
import streamlit as st
from prediction import smartcities
# Streamlit Interface
st.header("Smart City Cars and Bikes detection")
st.markdown("Upload a video or select the example")
## Select video to inference
file_video = None
f = st.file_uploader(" Upload a video ", type=["mp4"])
if f is not None:
tfile = tempfile.NamedTemporaryFile(delete=False)
tfile.write(f.read())
file_video = tfile.name
if st.button("example"):
file_video = "test_video.mp4"
## Process video
if file_video is not None:
sc = smartcities()
output = sc.predict(file_video)
if output is not None:
with st.container():
st.subheader("Input: ")
video = open(file_video, "rb")
video_bytes = video.read()
st.video(video_bytes, format="video/mp4")
with st.container():
st.subheader("Output: ")
st.video(output, format="video/mp4", start_time=0)
st.download_button("Download", output, file_name="output_video.mp4", mime="video/mp4")