From 6c92d8940775d7cfe34c214c936748bbe73a13e3 Mon Sep 17 00:00:00 2001 From: ASR Date: Wed, 20 Aug 2025 10:48:22 +0530 Subject: [PATCH 1/2] fixed-issue-75 --- face-try.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/face-try.py b/face-try.py index ba08c99..1ec75a1 100644 --- a/face-try.py +++ b/face-try.py @@ -27,6 +27,11 @@ # Start video capture cap = cv2.VideoCapture(0) +#check for external if built-in camera is not working +if not cap.isOpened(): + print("[WARNING] Camera index 0 not available, trying index 1.....") + cap.cv2.VideoCapture(1) + if not cap.isOpened(): print("[ERROR] Cannot access webcam.") sys.exit(1) From 43a8812dffc5159d4512b6d9f59e1b65f29fcd47 Mon Sep 17 00:00:00 2001 From: ASR Date: Fri, 29 Aug 2025 13:03:25 +0530 Subject: [PATCH 2/2] feat: made requested changes --- face-try.py | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/face-try.py b/face-try.py index 1ec75a1..1b20bf2 100644 --- a/face-try.py +++ b/face-try.py @@ -24,13 +24,28 @@ print(f"[ERROR] Failed to load cascade from {cascade_path}") sys.exit(1) + + +#checking camera +def check_camera(idx): + cap = cv2.VideoCapture(idx) + if not cap.isOpened(): + return None + + ok, _ = cap.read() + if not ok: + cap.release() + return None + + return cap + # Start video capture -cap = cv2.VideoCapture(0) +cap = check_camera(0) + +if cap is None: + print("[WARNING] Built-In camera failed.Trying external camera...") + cap = check_camera(1) -#check for external if built-in camera is not working -if not cap.isOpened(): - print("[WARNING] Camera index 0 not available, trying index 1.....") - cap.cv2.VideoCapture(1) if not cap.isOpened(): print("[ERROR] Cannot access webcam.") @@ -66,5 +81,6 @@ print("\n[INFO] Exiting on Ctrl+C") finally: - cap.release() - cv2.destroyAllWindows() + if cap: + cap.release() + cv2.destroyAllWindows() \ No newline at end of file