Leo8613 commited on
Commit
195a17a
·
verified ·
1 Parent(s): 13e1420

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -8
app.py CHANGED
@@ -1,11 +1,10 @@
1
  import torch
 
2
  import cv2
3
  import numpy as np
4
 
5
- # Chemins vers le modèle et la vidéo à traiter
6
  MODEL_PATH = 'ColorizeVideo_gen.pth'
7
- VIDEO_PATH = '119195-716970703_small.mp4' # Nom de la vidéo exemple
8
- OUTPUT_VIDEO_PATH = 'output_video.mp4'
9
 
10
  # Charger le modèle
11
  def load_model(model_path):
@@ -22,9 +21,10 @@ def preprocess_frame(frame):
22
  return input_tensor.unsqueeze(0) # Ajouter une dimension de lot
23
 
24
  # Traitement de la vidéo
25
- def process_video(model, video_path, output_path):
26
  cap = cv2.VideoCapture(video_path)
27
  fourcc = cv2.VideoWriter_fourcc(*'mp4v')
 
28
  out = cv2.VideoWriter(output_path, fourcc, 30.0, (int(cap.get(3)), int(cap.get(4))))
29
 
30
  while cap.isOpened():
@@ -47,9 +47,22 @@ def process_video(model, video_path, output_path):
47
 
48
  cap.release()
49
  out.release()
 
50
 
51
- # Fonction principale
52
- if __name__ == '__main__':
53
  model = load_model(MODEL_PATH)
54
- process_video(model, VIDEO_PATH, OUTPUT_VIDEO_PATH)
55
- print(f"Traitement de la vidéo terminé. Résultats enregistrés dans {OUTPUT_VIDEO_PATH}.")
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  import torch
2
+ import gradio as gr
3
  import cv2
4
  import numpy as np
5
 
6
+ # Chemin vers le modèle
7
  MODEL_PATH = 'ColorizeVideo_gen.pth'
 
 
8
 
9
  # Charger le modèle
10
  def load_model(model_path):
 
21
  return input_tensor.unsqueeze(0) # Ajouter une dimension de lot
22
 
23
  # Traitement de la vidéo
24
+ def process_video(model, video_path):
25
  cap = cv2.VideoCapture(video_path)
26
  fourcc = cv2.VideoWriter_fourcc(*'mp4v')
27
+ output_path = "output_video.mp4"
28
  out = cv2.VideoWriter(output_path, fourcc, 30.0, (int(cap.get(3)), int(cap.get(4))))
29
 
30
  while cap.isOpened():
 
47
 
48
  cap.release()
49
  out.release()
50
+ return output_path
51
 
52
+ # Interface Gradio
53
+ def colorize_video(video):
54
  model = load_model(MODEL_PATH)
55
+ output_video_path = process_video(model, video.name) # Utiliser le nom pour lire la vidéo
56
+ return output_video_path
57
+
58
+ # Configuration de l'interface Gradio
59
+ iface = gr.Interface(
60
+ fn=colorize_video,
61
+ inputs=gr.Video(label="Téléchargez une vidéo"),
62
+ outputs=gr.Video(label="Vidéo colorisée"),
63
+ title="Colorisation de Vidéos",
64
+ description="Chargez une vidéo en noir et blanc et utilisez le modèle de colorisation pour obtenir une vidéo colorisée."
65
+ )
66
+
67
+ if __name__ == '__main__':
68
+ iface.launch()