質問編集履歴
1
コード
test
CHANGED
File without changes
|
test
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
上半身や下半身などを抽出することができないです。
|
4
4
|
|
5
|
-
顔検出できたコードを
|
5
|
+
顔検出できたコードのhaarcascade_frontalface_altをhaarcascade_upperbody、front_faceをupperbodyに書き換えればできると思ったのですが間違いなんでしょうか。
|
6
6
|
|
7
7
|
|
8
8
|
|
9
|
-
顔検出できたときのコードです。
|
9
|
+
顔検出できたときのコードを書き換えたものです。
|
10
10
|
|
11
11
|
勉強不足かもしれませんが、よろしくお願いします。
|
12
12
|
|
@@ -32,7 +32,7 @@
|
|
32
32
|
|
33
33
|
# カスケードファイルのパス
|
34
34
|
|
35
|
-
cascade_path = "haarcascade_
|
35
|
+
cascade_path = "haarcascade_upperbody.xml"
|
36
36
|
|
37
37
|
|
38
38
|
|
@@ -56,9 +56,9 @@
|
|
56
56
|
|
57
57
|
# 検出判定
|
58
58
|
|
59
|
-
print(
|
59
|
+
print(upperbody_list)
|
60
60
|
|
61
|
-
if len(
|
61
|
+
if len(upperbody_list) == 0:
|
62
62
|
|
63
63
|
print("Failed")
|
64
64
|
|
@@ -68,7 +68,7 @@
|
|
68
68
|
|
69
69
|
# 検出位置描画
|
70
70
|
|
71
|
-
for (x,y,w,h) in
|
71
|
+
for (x,y,w,h) in upperbody_list:
|
72
72
|
|
73
73
|
print("[x,y] = %d,%d [w,h] = %d,%d" %(x, y, w, h))
|
74
74
|
|
@@ -90,12 +90,22 @@
|
|
90
90
|
|
91
91
|
# 検出画像出力
|
92
92
|
|
93
|
-
for (x,y,w,h) in
|
93
|
+
for (x,y,w,h) in upperbody_list:
|
94
94
|
|
95
|
-
|
95
|
+
upperbody_img = origin_img[y:y+h, x:x+w]
|
96
96
|
|
97
|
-
filename = "
|
97
|
+
filename = "upperbody_" + str(x) + "-" + str(y) + ".jpg"
|
98
98
|
|
99
|
-
cv2.imwrite(filename,
|
99
|
+
cv2.imwrite(filename, upperbody_img)
|
100
100
|
|
101
101
|
```
|
102
|
+
|
103
|
+
|
104
|
+
|
105
|
+
このようなエラーが出てしまいました。
|
106
|
+
|
107
|
+
```
|
108
|
+
|
109
|
+
NameError: name 'upperbody_list' is not defined
|
110
|
+
|
111
|
+
```
|