Og2 commited on
Commit
aaf0a39
·
verified ·
1 Parent(s): 6cd3f81

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +41 -0
app.py CHANGED
@@ -575,3 +575,44 @@ async def get_video_frames(file_name: str, frame_id: int) -> dict:
575
  except Exception as e:
576
  raise HTTPException(status_code=500, detail=f"Erreur lors de l'extraction des frames : {str(e)}")
577
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
575
  except Exception as e:
576
  raise HTTPException(status_code=500, detail=f"Erreur lors de l'extraction des frames : {str(e)}")
577
 
578
+
579
+
580
+ @app.post("/annotate/")
581
+ async def annotate(
582
+ video_path: str,
583
+ start_frame: int,
584
+ end_frame: int,
585
+ class_label: str,
586
+ player: str
587
+ ):
588
+ try:
589
+ # Vérifier si le fichier vidéo est valide
590
+ #if not os.path.exists(video_path):
591
+ # raise HTTPException(status_code=400, detail="Le fichier vidéo n'existe pas.")
592
+
593
+ # Construire le nom du fichier CSV
594
+ csv_path = os.path.splitext(video_path)[0] + ".csv"
595
+
596
+ # Générer les frames
597
+ frames = list(range(start_frame, end_frame + 1))
598
+ data = {"frame": frames, "class": [class_label] * len(frames), "player": [player] * len(frames)}
599
+ df_new = pd.DataFrame(data)
600
+
601
+ # Vérifier si le fichier existe déjà
602
+ if os.path.exists(csv_path):
603
+ df_existing = pd.read_csv(csv_path)
604
+
605
+ # Fusionner sans doublons
606
+ df_combined = pd.concat([df_existing, df_new]).drop_duplicates(subset=["frame"], keep="last")
607
+
608
+ # Sauvegarder les données mises à jour
609
+ df_combined.to_csv(csv_path, index=False)
610
+ else:
611
+ df_new.to_csv(csv_path, index=False)
612
+
613
+ return {"message": "Fichier CSV mis à jour avec succès.", "csv_path": csv_path}
614
+
615
+ except Exception as e:
616
+ raise HTTPException(status_code=500, detail=str(e))
617
+
618
+