Spaces:
Runtime error
Runtime error
File size: 948 Bytes
101ca90 |
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 29 |
import streamlit as st
import cv2
from PIL import Image
uploaded_video = st.file_uploader("Choose video", type=["mp4", "mov"])
frame_skip = 200 # display every 300 frames
if uploaded_video is not None: # run only when user uploads video
vid = uploaded_video.name
with open(vid, mode='wb') as f:
f.write(uploaded_video.read()) # save video to disk
st.markdown(f"""
### Files
- {vid}
""",
unsafe_allow_html=True) # display file name
vidcap = cv2.VideoCapture(vid) # load video from disk
cur_frame = 0
success = True
while success:
success, frame = vidcap.read() # get next frame from video
if cur_frame % frame_skip == 0: # only analyze every n=300 frames
print('frame: {}'.format(cur_frame))
pil_img = Image.fromarray(frame) # convert opencv frame (with type()==numpy) into PIL Image
st.image(pil_img,channels='BGR')
cur_frame += 1 |