teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

ご指摘があったところを編集しました

2020/05/19 01:05

投稿

hiiragi777
hiiragi777

スコア2

title CHANGED
File without changes
body CHANGED
@@ -1,15 +1,54 @@
1
1
  ### 前提・実現したいこと
2
- いくらしらべても以下のエー文が何が原因発生しているかわからない
2
+ カメラで自分を映た際に顔認識し表示しようとしてます。
3
+ 一回実行するとカメラが起動するだけで何も表示されず、もう一回実行すると次のエラーが出ます。
3
4
 
5
+ ### 発生している問題・エラーメッセージ
4
6
 
5
- ### 発生している問題・エラーメッセージ
6
- error: (-215) scn == 3 || scn == 4 in function cv::cvtColor
7
7
  ```
8
- エラーメッセージ
8
+ error: OpenCV(3.4.1) C:\Miniconda3\conda-bld\opencv-suite_1533128839831\work\modules\imgproc\src\color.cpp:11147: error: (-215) scn == 3 || scn == 4 in function cv::cvtColor
9
9
  ```
10
10
 
11
11
  ### 該当のソースコード
12
+ import cv2
12
13
 
14
+ face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')
15
+ eye_cascade = cv2.CascadeClassifier('haarcascade_eye.xml')
16
+
17
+ cap = cv2.VideoCapture(0)
18
+
19
+ if cap.isOpened() is False:
20
+ print("not cap")
21
+ sys.exit()
22
+
23
+ while True:
24
+
25
+ ret, frame = cap.read()
26
+
27
+ gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) エラー箇所はここを示しています
28
+
29
+ faces = face_cascade.detectMultiScale(gray)
30
+
31
+ if len(faces) != 0:
32
+
33
+ for (x,y,w,h) in faces:
34
+ cv2.rectangle(frame,(x,y),(x+w,y+h),(255,0,0),2)
35
+ 顔画像(グレースケール)
36
+ roi_gray = gray[y:y+h, x:x+w]
37
+ 顔画増(カラースケール)
38
+ roi_color = frame[y:y+h, x:x+w]
39
+ 顔の中から目を検知
40
+ eyes = eye_cascade.detectMultiScale(roi_gray)
41
+ for (ex,ey,ew,eh) in eyes:
42
+ 検知した目を矩形で囲む
43
+ cv2.rectangle(roi_color,(ex,ey),(ex+ew,ey+eh),(0,255,0),2)
44
+ _
45
+ 画像表示
46
+ cv2.imshow('img',frame)
47
+
48
+ 何かキーを押したら終了
49
+ cv2.waitKey(0)
50
+ cv2.destroyAllWindows()
51
+
13
52
  ```ここに言語名を入力
14
53
  python
15
54
  ```