回答編集履歴
5
不必要な文の削除
answer
CHANGED
@@ -4,18 +4,6 @@
|
|
4
4
|
```
|
5
5
|
でtimeモジュールをimportして,
|
6
6
|
|
7
|
-
```python
|
8
|
-
while True:
|
9
|
-
tick = cv2.getTickCount()
|
10
|
-
close_eye = 0.0
|
11
|
-
|
12
|
-
ret, rgb = cap.read()
|
13
|
-
gray = cv2.cvtColor(rgb, cv2.COLOR_RGB2GRAY)
|
14
|
-
faces = face_cascade.detectMultiScale(
|
15
|
-
gray, scaleFactor=1.11, minNeighbors=3, minSize=(100, 100))
|
16
|
-
```
|
17
|
-
~~この部分に,close_eye=0.0を加えます.~~
|
18
|
-
|
19
7
|
while分の中に入れてしまうと毎回初期化されてしまうため,
|
20
8
|
こちらの位置に修正してください.
|
21
9
|
```Python
|
4
codeの再修正
answer
CHANGED
@@ -8,7 +8,7 @@
|
|
8
8
|
while True:
|
9
9
|
tick = cv2.getTickCount()
|
10
10
|
close_eye = 0.0
|
11
|
-
|
11
|
+
|
12
12
|
ret, rgb = cap.read()
|
13
13
|
gray = cv2.cvtColor(rgb, cv2.COLOR_RGB2GRAY)
|
14
14
|
faces = face_cascade.detectMultiScale(
|
@@ -20,7 +20,7 @@
|
|
20
20
|
こちらの位置に修正してください.
|
21
21
|
```Python
|
22
22
|
cap = cv2.VideoCapture(0)
|
23
|
-
|
23
|
+
t1 = 0.0
|
24
24
|
close_eye = 0.0
|
25
25
|
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_alt2.xml')
|
26
26
|
face_parts_detector = dlib.shape_predictor('shape_predictor_68_face_landmarks.dat')
|
3
codeの修正
answer
CHANGED
@@ -8,6 +8,7 @@
|
|
8
8
|
while True:
|
9
9
|
tick = cv2.getTickCount()
|
10
10
|
close_eye = 0.0
|
11
|
+
t1 = 0.0
|
11
12
|
ret, rgb = cap.read()
|
12
13
|
gray = cv2.cvtColor(rgb, cv2.COLOR_RGB2GRAY)
|
13
14
|
faces = face_cascade.detectMultiScale(
|
@@ -31,11 +32,10 @@
|
|
31
32
|
ずれていた場合は修正してください.
|
32
33
|
```Python
|
33
34
|
if (left_eye_ear + right_eye_ear) < 0.45:
|
34
|
-
if
|
35
|
+
if t1 == 0.0:
|
35
36
|
t1 = time.time()
|
36
37
|
else:
|
37
|
-
t2 = time.time()
|
38
|
-
close_eye +=
|
38
|
+
close_eye += time.time()-t1
|
39
39
|
t1 = time.time()
|
40
40
|
if close_eye > 4.0:
|
41
41
|
cv2.putText(rgb,"close",
|
@@ -51,4 +51,5 @@
|
|
51
51
|
line_notify = requests.post(line_notify_api, data=payload, headers=headers)
|
52
52
|
else:
|
53
53
|
close_eye = 0.0
|
54
|
+
t1 = 0.0
|
54
55
|
```
|
2
close_eyeの位置の修正
answer
CHANGED
@@ -13,8 +13,19 @@
|
|
13
13
|
faces = face_cascade.detectMultiScale(
|
14
14
|
gray, scaleFactor=1.11, minNeighbors=3, minSize=(100, 100))
|
15
15
|
```
|
16
|
-
この部分に,
|
16
|
+
~~この部分に,close_eye=0.0を加えます.~~
|
17
17
|
|
18
|
+
while分の中に入れてしまうと毎回初期化されてしまうため,
|
19
|
+
こちらの位置に修正してください.
|
20
|
+
```Python
|
21
|
+
cap = cv2.VideoCapture(0)
|
22
|
+
|
23
|
+
close_eye = 0.0
|
24
|
+
face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_alt2.xml')
|
25
|
+
face_parts_detector = dlib.shape_predictor('shape_predictor_68_face_landmarks.dat')
|
26
|
+
```
|
27
|
+
|
28
|
+
|
18
29
|
そして,該当の部分を下記のようにすれば,うまく行くかもしれません.
|
19
30
|
ただ,瞳を検出していないと判定している部分の位置があっているか分からないので,
|
20
31
|
ずれていた場合は修正してください.
|
1
timeをclose_eyeに変更しました.
answer
CHANGED
@@ -7,7 +7,7 @@
|
|
7
7
|
```python
|
8
8
|
while True:
|
9
9
|
tick = cv2.getTickCount()
|
10
|
-
|
10
|
+
close_eye = 0.0
|
11
11
|
ret, rgb = cap.read()
|
12
12
|
gray = cv2.cvtColor(rgb, cv2.COLOR_RGB2GRAY)
|
13
13
|
faces = face_cascade.detectMultiScale(
|
@@ -20,13 +20,13 @@
|
|
20
20
|
ずれていた場合は修正してください.
|
21
21
|
```Python
|
22
22
|
if (left_eye_ear + right_eye_ear) < 0.45:
|
23
|
-
if
|
23
|
+
if close_eye == 0.0:
|
24
24
|
t1 = time.time()
|
25
25
|
else:
|
26
26
|
t2 = time.time()
|
27
|
-
|
27
|
+
close_eye += t2-t1
|
28
28
|
t1 = time.time()
|
29
|
-
if
|
29
|
+
if close_eye > 4.0:
|
30
30
|
cv2.putText(rgb,"close",
|
31
31
|
(10,180), cv2.FONT_HERSHEY_PLAIN, 3, (0,0,255), 3, 1)
|
32
32
|
|
@@ -39,5 +39,5 @@
|
|
39
39
|
headers = {'Authorization': 'Bearer ' + line_notify_token } # 発行したトークン
|
40
40
|
line_notify = requests.post(line_notify_api, data=payload, headers=headers)
|
41
41
|
else:
|
42
|
-
|
42
|
+
close_eye = 0.0
|
43
43
|
```
|