fix(ui): making get_available_cameras() dynamic

pull/686/head
Kshamendra 2024-10-02 20:52:25 +05:30 committed by GitHub
parent fcc2d0582f
commit 874ccbbbe0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 7 additions and 7 deletions

View File

@ -414,7 +414,7 @@ def create_root(
# --- Camera Selection --- # --- Camera Selection ---
camera_label = ctk.CTkLabel(root, text="Select Camera:") camera_label = ctk.CTkLabel(root, text="Select Camera:")
camera_label.place(relx=0.4, rely=0.86, relwidth=0.2, relheight=0.05) 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 # Convert camera indices to strings for CTkOptionMenu
available_camera_strings = [str(cam) for cam in available_cameras] available_camera_strings = [str(cam) for cam in available_cameras]
camera_variable = ctk.StringVar( 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) 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.""" """Returns a list of available camera indices."""
available_cameras = [] available_cameras = []
for index in range(10): # Check for cameras with index 0 to 9 for i in range(max_cameras):
camera = cv2.VideoCapture(index) cap = cv2.VideoCapture(i)
if camera.isOpened(): if cap.isOpened():
available_cameras.append(index) available_cameras.append(i)
camera.release() cap.release()
return available_cameras return available_cameras