質問編集履歴

2

書式変更

2019/11/14 07:28

投稿

hglkmnlkygmnl
hglkmnlkygmnl

スコア6

test CHANGED
File without changes
test CHANGED
@@ -6,58 +6,86 @@
6
6
 
7
7
  ```python
8
8
 
9
+ #OpenCVのインポート
10
+
9
11
  import cv2
12
+
13
+
14
+
15
+ #カスケード型分類器に使用する分類器のデータ(xmlファイル)を読み込み
16
+
17
+ HAAR_FILE = "/content/drive/My Drive/haarcascade_frontalface_default.xml"
18
+
19
+ cascade = cv2.CascadeClassifier(HAAR_FILE)
20
+
21
+
22
+
23
+ #画像ファイルの読み込み
24
+
25
+ image_picture = "/content/drive/My Drive/a_resize.png"
26
+
27
+
28
+
29
+ img = cv2.imread(image_picture)
30
+
31
+
32
+
33
+ #グレースケールに変換する
34
+
35
+ img_g = cv2.imread(image_picture,0)
36
+
37
+
38
+
39
+ #カスケード型分類器を使用して画像ファイルから顔部分を検出する
40
+
41
+ face = cascade.detectMultiScale(img_g)
42
+
43
+
44
+
45
+ #顔の座標を表示する
46
+
47
+ print(face)
48
+
49
+
50
+
51
+ #顔部分を切り取る
52
+
53
+ for x,y,w,h in face:
54
+
55
+ face_cut = img[y:y+h, x:x+w]
56
+
57
+
58
+
59
+ #白枠で顔を囲む
60
+
61
+ for x,y,w,h in face:
62
+
63
+ cv2.rectangle(img,(x,y),(x+w,y+h),(255,255,255),2)
64
+
65
+
66
+
67
+ #画像の出力
68
+
69
+ cv2.imwrite('face_cut.jpg', face_cut)
70
+
71
+ cv2.imwrite('face_rectangle.jpg', img)
72
+
73
+ ```
74
+
75
+ ```error
76
+
77
+ NameError Traceback (most recent call last)
78
+
79
+ <ipython-input-10-1b361f5a4955> in <module>()
80
+
81
+ 24
82
+
83
+ 25 #画像の出力
84
+
85
+ ---> 26 cv2.imwrite('face_cut.jpg', face_cut)
10
86
 
11
87
 
12
88
 
13
- cascade_path = "/content/drive/My Drive/haarcascade_frontalface_alt.xml"
14
-
15
- origin_image_path = "/content/drive/My Drive/a_resize.png"
16
-
17
- dir_path = "/content/drive/My Drive"
89
+ NameError: name 'face_cut' is not defined
18
-
19
-
20
-
21
- i=0
22
-
23
-
24
-
25
- image = cv2.imread(origin_image_path,0)
26
-
27
-
28
-
29
- cascade = cv2.CascadeClassifier(cascade_path)
30
-
31
- facerect = cascade.detectMultiScale(image, scaleFactor=1.1, minNeighbors=1, minSize=(10, 10))
32
-
33
-
34
-
35
- if len(facerect) > 0:
36
-
37
- for rect in facerect:
38
-
39
- # 顔だけ切り出して保存
40
-
41
- x = rect[0]
42
-
43
- y = rect[1]
44
-
45
- width = rect[2]
46
-
47
- height = rect[3]
48
-
49
- dst = image[y:y + height, x:x + width]
50
-
51
- save_path = dir_path + '/' + 'image(' + str(i) + ')' + '.png'
52
-
53
- #認識結果の保存
54
-
55
- cv2.imwrite(save_path, dst)
56
-
57
- print("save!")
58
-
59
- i += 1
60
-
61
- print("Finish")
62
90
 
63
91
  ```

1

書式変更

2019/11/14 07:28

投稿

hglkmnlkygmnl
hglkmnlkygmnl

スコア6

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,6 @@
1
1
  画像から顔を切り出して保存したいと考えています。
2
+
3
+
2
4
 
3
5
 
4
6
 
@@ -59,25 +61,3 @@
59
61
  print("Finish")
60
62
 
61
63
  ```
62
-
63
- ```error
64
-
65
- SystemError Traceback (most recent call last)
66
-
67
- <ipython-input-8-3cf9f5ef0f68> in <module>()
68
-
69
- 9 image = cv2.imread(origin_image_path,0)
70
-
71
- 10
72
-
73
- ---> 11 cascade = cv2.CascadeClassifier(cascade_path)
74
-
75
- 12 facerect = cascade.detectMultiScale(image, scaleFactor=1.1, minNeighbors=1, minSize=(10, 10))
76
-
77
- 13
78
-
79
-
80
-
81
- SystemError: <class 'cv2.CascadeClassifier'> returned a result with an error set
82
-
83
- ```