Update app.py
Browse files
app.py
CHANGED
@@ -59,15 +59,37 @@ def predict_on_video(video_in_filepath, video_out_filepath, detection_model, cat
|
|
59 |
fps,
|
60 |
(frame_w, frame_h)
|
61 |
)
|
62 |
-
while True:
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
processed_frame = predict(frame)
|
68 |
-
processed_frame_np = np.array(processed_frame)
|
69 |
-
video_writer.write(processed_frame_np)
|
70 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
71 |
video_reader.release()
|
72 |
video_writer.release()
|
73 |
cv2.destroyAllWindows()
|
|
|
59 |
fps,
|
60 |
(frame_w, frame_h)
|
61 |
)
|
62 |
+
# while True:
|
63 |
+
# ret, frame = video_reader.read()
|
64 |
+
# if not ret:
|
65 |
+
# break # Break the loop if the video is finished
|
|
|
|
|
|
|
|
|
66 |
|
67 |
+
# processed_frame = predict(frame)
|
68 |
+
# processed_frame_np = np.array(processed_frame)
|
69 |
+
# video_writer.write(processed_frame_np)
|
70 |
+
for i in tqdm(range(nb_frames)):
|
71 |
+
ret, image_np = video_reader.read()
|
72 |
+
input_tensor = tf.convert_to_tensor(np.expand_dims(image_np, 0), dtype=tf.uint8)
|
73 |
+
results = detection_model(input_tensor)
|
74 |
+
viz_utils.visualize_boxes_and_labels_on_image_array(
|
75 |
+
image_np,
|
76 |
+
results['detection_boxes'][0].numpy(),
|
77 |
+
(results['detection_classes'][0].numpy()+ label_id_offset).astype(int),
|
78 |
+
results['detection_scores'][0].numpy(),
|
79 |
+
category_index,
|
80 |
+
use_normalized_coordinates=True,
|
81 |
+
max_boxes_to_draw=200,
|
82 |
+
min_score_thresh=.50,
|
83 |
+
agnostic_mode=False,
|
84 |
+
line_thickness=2)
|
85 |
+
|
86 |
+
video_writer.write(np.uint8(image_np))
|
87 |
+
|
88 |
+
# Release camera and close windows
|
89 |
+
video_reader.release()
|
90 |
+
video_writer.release()
|
91 |
+
cv2.destroyAllWindows()
|
92 |
+
cv2.waitKey(1)
|
93 |
video_reader.release()
|
94 |
video_writer.release()
|
95 |
cv2.destroyAllWindows()
|