質問編集履歴
10
誤字
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
error: (-215:Assertion failed) !ssize.empty() in function 'cv::resize'でコードが動きません
|
test
CHANGED
File without changes
|
9
補足の追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -24,9 +24,13 @@
|
|
24
24
|
|
25
25
|
def main():
|
26
26
|
|
27
|
+
# 映像の取得
|
28
|
+
|
27
29
|
cap = cv2.VideoCapture("./movie.mp4")
|
28
30
|
|
29
31
|
img1 = img2 = img3 = get_image(cap)
|
32
|
+
|
33
|
+
# 閾値の設定
|
30
34
|
|
31
35
|
th = 50
|
32
36
|
|
@@ -40,9 +44,13 @@
|
|
40
44
|
|
41
45
|
break
|
42
46
|
|
47
|
+
# Enterキーが押されたら終了
|
48
|
+
|
43
49
|
if cv2.waitKey(1) == 13: break
|
44
50
|
|
45
51
|
diff = check_image(img1, img2, img3)
|
52
|
+
|
53
|
+
# 差分がthの値以上なら動きがあったと判定
|
46
54
|
|
47
55
|
cnt = cv2.countNonZero(diff)
|
48
56
|
|
@@ -52,6 +60,8 @@
|
|
52
60
|
|
53
61
|
cv2.imshow('PUSH ENTER KEY', img3)
|
54
62
|
|
63
|
+
# 閾値以上の写真を画像として保存
|
64
|
+
|
55
65
|
cv2.imwrite(save_path + str(num) + ".jpg", img3)
|
56
66
|
|
57
67
|
num += 1
|
@@ -60,7 +70,11 @@
|
|
60
70
|
|
61
71
|
cv2.imshow('PUSH ENTER KEY', diff)
|
62
72
|
|
73
|
+
# 比較用の画像を保存
|
74
|
+
|
63
75
|
img1, img2, img3 = (img2, img3, get_image(cap))
|
76
|
+
|
77
|
+
# 後始末
|
64
78
|
|
65
79
|
cap.release()
|
66
80
|
|
@@ -68,7 +82,11 @@
|
|
68
82
|
|
69
83
|
|
70
84
|
|
85
|
+
# 画像に動きがあったか調べる関数
|
86
|
+
|
71
87
|
def check_image(img1, img2, img3):
|
88
|
+
|
89
|
+
# グレイスケール画像に変換
|
72
90
|
|
73
91
|
gray1 = cv2.cvtColor(img1, cv2.COLOR_RGB2GRAY)
|
74
92
|
|
@@ -76,19 +94,29 @@
|
|
76
94
|
|
77
95
|
gray3 = cv2.cvtColor(img3, cv2.COLOR_RGB2GRAY)
|
78
96
|
|
97
|
+
# 絶対差分を調べる
|
98
|
+
|
79
99
|
diff1 = cv2.absdiff(gray1, gray2)
|
80
100
|
|
81
101
|
diff2 = cv2.absdiff(gray2, gray3)
|
82
102
|
|
103
|
+
# 論理積を調べる
|
104
|
+
|
83
105
|
diff_and = cv2.bitwise_and(diff1, diff2)
|
84
106
|
|
107
|
+
# 白黒二値化
|
108
|
+
|
85
109
|
_, diff_wb = cv2.threshold(diff_and, 30, 255, cv2.THRESH_BINARY)
|
110
|
+
|
111
|
+
# ノイズの除去
|
86
112
|
|
87
113
|
diff = cv2.medianBlur(diff_wb, 5)
|
88
114
|
|
89
115
|
return diff
|
90
116
|
|
91
117
|
|
118
|
+
|
119
|
+
# 映像から画像を取得する
|
92
120
|
|
93
121
|
def get_image(cap):
|
94
122
|
|
8
誤字の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -14,7 +14,9 @@
|
|
14
14
|
|
15
15
|
### 該当のソースコード
|
16
16
|
|
17
|
+
|
18
|
+
|
17
|
-
```
|
19
|
+
```python
|
18
20
|
|
19
21
|
import cv2
|
20
22
|
|
@@ -100,6 +102,8 @@
|
|
100
102
|
|
101
103
|
main()
|
102
104
|
|
105
|
+
```
|
106
|
+
|
103
107
|
|
104
108
|
|
105
109
|
|
7
誤字
test
CHANGED
File without changes
|
test
CHANGED
@@ -102,14 +102,6 @@
|
|
102
102
|
|
103
103
|
|
104
104
|
|
105
|
-
python```ここに言語を入力python
|
106
|
-
|
107
|
-
コード
|
108
|
-
|
109
|
-
```
|
110
|
-
|
111
|
-
```
|
112
|
-
|
113
105
|
|
114
106
|
|
115
107
|
|
6
誤字
test
CHANGED
File without changes
|
test
CHANGED
@@ -102,7 +102,7 @@
|
|
102
102
|
|
103
103
|
|
104
104
|
|
105
|
-
```ここに言語を入力python
|
105
|
+
python```ここに言語を入力python
|
106
106
|
|
107
107
|
コード
|
108
108
|
|
5
文法
test
CHANGED
File without changes
|
test
CHANGED
@@ -98,7 +98,11 @@
|
|
98
98
|
|
99
99
|
return img
|
100
100
|
|
101
|
+
main()
|
102
|
+
|
103
|
+
|
104
|
+
|
101
|
-
|
105
|
+
```ここに言語を入力python
|
102
106
|
|
103
107
|
コード
|
104
108
|
|
4
誤字
test
CHANGED
File without changes
|
test
CHANGED
@@ -96,13 +96,13 @@
|
|
96
96
|
|
97
97
|
print(img.shape)
|
98
98
|
|
99
|
+
return img
|
100
|
+
|
99
|
-
|
101
|
+
main()```ここに言語を入力python
|
100
102
|
|
101
103
|
コード
|
102
104
|
|
103
105
|
```
|
104
|
-
|
105
|
-
main()
|
106
106
|
|
107
107
|
```
|
108
108
|
|
3
文法の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -13,6 +13,8 @@
|
|
13
13
|
|
14
14
|
|
15
15
|
### 該当のソースコード
|
16
|
+
|
17
|
+
```ここに言語を入力
|
16
18
|
|
17
19
|
import cv2
|
18
20
|
|
@@ -94,9 +96,15 @@
|
|
94
96
|
|
95
97
|
print(img.shape)
|
96
98
|
|
97
|
-
return img
|
99
|
+
return img```ここに言語を入力
|
100
|
+
|
101
|
+
コード
|
102
|
+
|
103
|
+
```
|
98
104
|
|
99
105
|
main()
|
106
|
+
|
107
|
+
```
|
100
108
|
|
101
109
|
|
102
110
|
|
2
誤字の修正
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
e
|
1
|
+
OpenCVを使って撮影した映像から動体を検知し、そのシーンを画像として保存したいです。
|
test
CHANGED
@@ -105,3 +105,5 @@
|
|
105
105
|
### 補足情報(FW/ツールのバージョンなど)
|
106
106
|
|
107
107
|
プログラミング初学者ですが、ネットで調べたWebカメラを使ってリアルタイムに動体を検出するコードを参考に作ったのでコードに大きな間違いはないはずなのですが、、。
|
108
|
+
|
109
|
+
もしほかにいい構文があれば教えて頂きたいです。
|
1
誤字の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -104,4 +104,4 @@
|
|
104
104
|
|
105
105
|
### 補足情報(FW/ツールのバージョンなど)
|
106
106
|
|
107
|
-
プログラミング初学者ですが、ネットで調べたWebカメラを使ってリアルタイムに動体を検出するコードを参考に作ったのでコードに大きな間違いはないはず
|
107
|
+
プログラミング初学者ですが、ネットで調べたWebカメラを使ってリアルタイムに動体を検出するコードを参考に作ったのでコードに大きな間違いはないはずなのですが、、。
|