fix(ui): making get_available_cameras() dynamic
parent
fcc2d0582f
commit
874ccbbbe0
|
@ -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
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue