Spaces:
Runtime error
Runtime error
SurendraKumarDhaka
commited on
Commit
•
802d494
1
Parent(s):
acb4581
Update app.py
Browse files
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 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
Score = 0
|
48 |
openScore = 0
|
49 |
while 1:
|
50 |
-
|
51 |
-
|
52 |
-
|
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)
|