Explorar o código

get a lock when copying frame for mjpeg stream

blakeblackshear %!s(int64=6) %!d(string=hai) anos
pai
achega
8525f05f29
Modificáronse 1 ficheiros con 3 adicións e 1 borrados
  1. 3 1
      detect_objects.py

+ 3 - 1
detect_objects.py

@@ -266,8 +266,10 @@ def main():
             time.sleep(0.2)
             time.sleep(0.2)
             # make a copy of the current detected objects
             # make a copy of the current detected objects
             detected_objects = DETECTED_OBJECTS.copy()
             detected_objects = DETECTED_OBJECTS.copy()
-            # make a copy of the current frame
+            # lock and make a copy of the current frame
+            frame_lock.aquire()
             frame = frame_arr.copy()
             frame = frame_arr.copy()
+            frame_lock.release()
             # convert to RGB for drawing
             # convert to RGB for drawing
             frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
             frame = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
             # draw the bounding boxes on the screen
             # draw the bounding boxes on the screen