From 874ccbbbe025d06bc65b9ea97e044d45d547e5c0 Mon Sep 17 00:00:00 2001 From: Kshamendra Date: Wed, 2 Oct 2024 20:52:25 +0530 Subject: [PATCH] fix(ui): making get_available_cameras() dynamic --- modules/ui.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/modules/ui.py b/modules/ui.py index f6c3924..7a6cbe4 100644 --- a/modules/ui.py +++ b/modules/ui.py @@ -414,7 +414,7 @@ def create_root( # --- Camera Selection --- camera_label = ctk.CTkLabel(root, text="Select Camera:") camera_label.place(relx=0.4, rely=0.86, relwidth=0.2, relheight=0.05) - available_cameras = get_available_cameras() + available_cameras = get_available_cameras(10) # Convert camera indices to strings for CTkOptionMenu available_camera_strings = [str(cam) for cam in available_cameras] camera_variable = ctk.StringVar( @@ -1018,14 +1018,14 @@ def webcam_preview(root: ctk.CTk, camera_index: int): create_source_target_popup_for_webcam(root, modules.globals.souce_target_map) -def get_available_cameras(): +def get_available_cameras(max_cameras=10): """Returns a list of available camera indices.""" available_cameras = [] - for index in range(10): # Check for cameras with index 0 to 9 - camera = cv2.VideoCapture(index) - if camera.isOpened(): - available_cameras.append(index) - camera.release() + for i in range(max_cameras): + cap = cv2.VideoCapture(i) + if cap.isOpened(): + available_cameras.append(i) + cap.release() return available_cameras