-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathget_frames.py
31 lines (28 loc) · 881 Bytes
/
get_frames.py
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
30
31
import cv2
import base64
from time import sleep
from flask_socketio import SocketIO
def generate_frame(socket: SocketIO):
# Change implementation to add url of realtime video feed,
# for demo purposes a random video was used
cap = cv2.VideoCapture('./video.mp4')
count = 0
while True:
(ret, frame) = cap.read()
if not ret:
print('end of the video file...')
yield None
break
frame = cv2.resize(frame, (400, 300))
# Perform image processing here
frame = cv2.imencode('.jpg', frame)[1].tobytes()
frame = base64.b64encode(frame).decode('utf-8')
camera_frame = "data:image/jpeg;base64,{}".format(frame)
data = {
"data": count,
"image": camera_frame
}
count += 1
yield (data)
# delay
socket.sleep(0)