in agora/footfall_ai_api/src/video_capture.py [0:0]
def _reader(self):
while self.running:
ret, frame = self.cap.read()
if not ret:
break
if not self.q.empty():
try:
self.q.get_nowait() # Discard previous frame
except queue.Empty:
pass
while self.q.full():
time.sleep(0.01)
if not self.running:
return
# Save the frame if it is at the specified interval
if self.skip_fps == -1 or self.frame_count % self.frame_interval == 0:
if self.resize == '640':
frame = cv2.resize(frame, (640, 360))
elif self.resize == '1280':
frame = cv2.resize(frame, (1280, 720))
# Add the frame with the desired resize
self.q.put(frame)
self.frame_count += 1
self.state=ret