diff --git "a/__pycache__/chercher_cam\303\251ra.cpython-311.pyc" "b/__pycache__/chercher_cam\303\251ra.cpython-311.pyc" new file mode 100644 index 0000000000000000000000000000000000000000..184f5a6159bc310caf051e135396901fe985fcee Binary files /dev/null and "b/__pycache__/chercher_cam\303\251ra.cpython-311.pyc" differ diff --git a/chargement.py b/chargement.py new file mode 100644 index 0000000000000000000000000000000000000000..36a2f01e5c3f76a1fe0116ee5f5ac5cc9966c04a --- /dev/null +++ b/chargement.py @@ -0,0 +1,51 @@ +import inspect +import time + +def count_function_lines(func): + """Counts the number of lines in a function.""" + source_lines = inspect.getsourcelines(func)[0] + return len(source_lines) + +def progress_percentage(func, lines_done): + """Calculates the percentage of lines completed in a function.""" + total_lines = count_function_lines(func) + if total_lines == 0: + return 0 + return (lines_done / total_lines) * 100 +def current_line(): + """Returns the current line number being executed in a function.""" + return inspect.currentframe().f_back.f_lineno +def fonction_longue(): +# Simulate a long function + time.sleep(2) + time.sleep(2) + time.sleep(2) + time.sleep(2) + time.sleep(2) + time.sleep(2) + time.sleep(2) + time.sleep(2) + time.sleep(2) + time.sleep(2) + time.sleep(2) + time.sleep(2) + time.sleep(2) + time.sleep(2) + time.sleep(2) + time.sleep(2) + time.sleep(2) + time.sleep(2) + time.sleep(2) + time.sleep(2) + time.sleep(2) + time.sleep(2) + time.sleep(2) + time.sleep(2) + time.sleep(2) + +if __name__ == '__main__': + while progress_percentage(fonction_longue, current_line) < 100: + print(f"Line {current_line}: {progress_percentage(fonction_longue, current_line):.2f}%") + time.sleep(0.5) + + diff --git "a/chercher_cam\303\251ra.py" "b/chercher_cam\303\251ra.py" new file mode 100644 index 0000000000000000000000000000000000000000..a35893138713d40a452a42a552073ef1860b072d --- /dev/null +++ "b/chercher_cam\303\251ra.py" @@ -0,0 +1,47 @@ +import cv2 +import tkinter as tk +from tkinter import ttk + +def detect_cameras(): + """Détecte les caméras connectées à l'ordinateur.""" + cameras = [] + for i in range(10): # Vérifie les 10 premiers indices de caméra + cap = cv2.VideoCapture(i) + if cap.isOpened(): + cameras.append(i) + cap.release() + return cameras + +def select_camera(): + """Affiche une interface Tkinter pour sélectionner une caméra.""" + cameras = detect_cameras() + if not cameras: + print("Aucune caméra détectée.") + return None + + def on_select(): + nonlocal selected_camera + selected_camera = int(camera_var.get()) + root.destroy() + + root = tk.Tk() + root.title("Sélection de la caméra") + + tk.Label(root, text="Sélectionnez une caméra :").pack(pady=10) + + camera_var = tk.StringVar(value=str(cameras[0])) + for cam in cameras: + ttk.Radiobutton(root, text=f"Caméra {cam}", variable=camera_var, value=str(cam)).pack(anchor=tk.W) + + ttk.Button(root, text="Valider", command=on_select).pack(pady=10) + + selected_camera = None + root.mainloop() + return selected_camera + +if __name__ == "__main__": + camera_index = select_camera() + if camera_index is not None: + print(f"Caméra sélectionnée : {camera_index}") + else: + print("Aucune caméra sélectionnée.") \ No newline at end of file diff --git a/test_cherchercamera.py b/test_cherchercamera.py new file mode 100644 index 0000000000000000000000000000000000000000..6ae040fe2299985c25b17371d3d3d938bb1950b5 --- /dev/null +++ b/test_cherchercamera.py @@ -0,0 +1,32 @@ +import chercher_caméra as cc +import cv2 +import tkinter as tk + +def select_camera_lanceemnt(): + camera_index = cc.select_camera() + if camera_index is not None: + cap = cv2.VideoCapture(camera_index) + if not cap.isOpened(): + print("Erreur : Impossible d'ouvrir la caméra.") + return + + while True: + ret, frame = cap.read() + if not ret: + print("Erreur : Impossible de lire le flux vidéo.") + break + + cv2.imshow("Flux vidéo", frame) + + if cv2.waitKey(1) & 0xFF == ord('q'): # Appuyez sur 'q' pour quitter + break + + cap.release() + cv2.destroyAllWindows() + if camera_index is not None: + print(f"Caméra sélectionnée : {camera_index}") + else: + print("Aucune caméra sélectionnée.") + +if __name__ == "__main__": + select_camera_lanceemnt() \ No newline at end of file