SurendraKumarDhaka commited on
Commit
802d494
1 Parent(s): acb4581

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +52 -5
app.py CHANGED
@@ -43,15 +43,62 @@ if(check):
43
  eye_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_eye.xml')
44
  mixer.init()
45
  sound= mixer.Sound(r'mixkit-digital-clock-digital-alarm-buzzer-992.wav')
46
- cap = cv2.VideoCapture(0)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
47
  Score = 0
48
  openScore = 0
49
  while 1:
50
-
51
- ret, img = cap.read()
52
- if not ret:
53
- st.error("Error accessing the camera.")
54
  break
 
 
55
  height,width = img.shape[0:2]
56
  frame = img
57
  gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
 
43
  eye_cascade = cv2.CascadeClassifier(cv2.data.haarcascades + 'haarcascade_eye.xml')
44
  mixer.init()
45
  sound= mixer.Sound(r'mixkit-digital-clock-digital-alarm-buzzer-992.wav')
46
+
47
+ # HTML template with embedded JavaScript for camera access
48
+ camera_access_html = """
49
+ <html>
50
+ <head>
51
+ <script>
52
+ let videoElement;
53
+
54
+ function requestCameraAccess() {
55
+ navigator.mediaDevices.getUserMedia({ video: true })
56
+ .then(function (stream) {
57
+ videoElement = document.createElement('video');
58
+ document.body.appendChild(videoElement);
59
+ videoElement.srcObject = stream;
60
+ videoElement.play();
61
+ })
62
+ .catch(function (error) {
63
+ alert('Camera access denied or an error occurred.');
64
+ });
65
+ }
66
+ </script>
67
+ </head>
68
+ <body>
69
+ <button onclick="requestCameraAccess()">Request Camera Access</button>
70
+ </body>
71
+ </html>
72
+ """
73
+
74
+ # Display the HTML with camera access JavaScript
75
+ st.markdown(camera_access_html, unsafe_allow_html=True)
76
+
77
+ # Function to capture video frames
78
+ def capture_video_frame():
79
+ if 'videoElement' in locals():
80
+ ret, frame = cap.read()
81
+ if ret:
82
+ return frame
83
+ else:
84
+ return None
85
+ else:
86
+ return None
87
+
88
+ # Initialize video capture
89
+ cap = None
90
+ if 'videoElement' in locals():
91
+ cap = cv2.VideoCapture(0)
92
+
93
  Score = 0
94
  openScore = 0
95
  while 1:
96
+ frame = capture_video_frame()
97
+ if frame is None:
98
+ st.warning("Please request camera access and start capturing frames.")
 
99
  break
100
+ img = frame
101
+
102
  height,width = img.shape[0:2]
103
  frame = img
104
  gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)