Spaces:
Paused
Paused
Update web-demos/hugging_face/app.py
Browse files
web-demos/hugging_face/app.py
CHANGED
@@ -264,8 +264,16 @@ def vos_tracking_video(video_state, interactive_state, mask_dropdown):
|
|
264 |
video_state["masks"][video_state["select_frame_number"]:] = masks
|
265 |
video_state["logits"][video_state["select_frame_number"]:] = logits
|
266 |
video_state["painted_images"][video_state["select_frame_number"]:] = painted_images
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
267 |
|
268 |
-
|
|
|
269 |
interactive_state["inference_times"] += 1
|
270 |
|
271 |
print("Tracking resolution:", following_frames[0].shape)
|
|
|
264 |
video_state["masks"][video_state["select_frame_number"]:] = masks
|
265 |
video_state["logits"][video_state["select_frame_number"]:] = logits
|
266 |
video_state["painted_images"][video_state["select_frame_number"]:] = painted_images
|
267 |
+
|
268 |
+
# Генерация ч/б видео-маски (имитация альфа-канала)
|
269 |
+
bw_mask_frames = []
|
270 |
+
for mask in video_state["masks"]:
|
271 |
+
binary_mask = np.where(mask > 0, 255, 0).astype(np.uint8)
|
272 |
+
bw_frame = np.stack([binary_mask]*3, axis=-1) # RGB ч/б
|
273 |
+
bw_mask_frames.append(bw_frame)
|
274 |
|
275 |
+
# Заменяем визуальное видео на ч/б маску
|
276 |
+
video_output = generate_video_from_frames(bw_mask_frames, output_path="./result/track/{}".format(video_state["video_name"]), fps=float(fps))# import video_input to name the output video
|
277 |
interactive_state["inference_times"] += 1
|
278 |
|
279 |
print("Tracking resolution:", following_frames[0].shape)
|