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_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