質問編集履歴
10
誤字
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
error: (-215:Assertion failed) !ssize.empty() in function 'cv::resize'でコードが動きません
|
body
CHANGED
File without changes
|
9
補足の追加
title
CHANGED
File without changes
|
body
CHANGED
@@ -11,39 +11,53 @@
|
|
11
11
|
import cv2
|
12
12
|
save_path = "./sample"
|
13
13
|
def main():
|
14
|
+
# 映像の取得
|
14
15
|
cap = cv2.VideoCapture("./movie.mp4")
|
15
16
|
img1 = img2 = img3 = get_image(cap)
|
17
|
+
# 閾値の設定
|
16
18
|
th = 50
|
17
19
|
num = 1
|
18
20
|
while True:
|
19
21
|
ret, frame = cap.read()
|
20
22
|
if not ret:
|
21
23
|
break
|
24
|
+
# Enterキーが押されたら終了
|
22
25
|
if cv2.waitKey(1) == 13: break
|
23
26
|
diff = check_image(img1, img2, img3)
|
27
|
+
# 差分がthの値以上なら動きがあったと判定
|
24
28
|
cnt = cv2.countNonZero(diff)
|
25
29
|
if cnt > th:
|
26
30
|
print("動体を検出")
|
27
31
|
cv2.imshow('PUSH ENTER KEY', img3)
|
32
|
+
# 閾値以上の写真を画像として保存
|
28
33
|
cv2.imwrite(save_path + str(num) + ".jpg", img3)
|
29
34
|
num += 1
|
30
35
|
else:
|
31
36
|
cv2.imshow('PUSH ENTER KEY', diff)
|
37
|
+
# 比較用の画像を保存
|
32
38
|
img1, img2, img3 = (img2, img3, get_image(cap))
|
39
|
+
# 後始末
|
33
40
|
cap.release()
|
34
41
|
cv2.destroyAllWindows()
|
35
42
|
|
43
|
+
# 画像に動きがあったか調べる関数
|
36
44
|
def check_image(img1, img2, img3):
|
45
|
+
# グレイスケール画像に変換
|
37
46
|
gray1 = cv2.cvtColor(img1, cv2.COLOR_RGB2GRAY)
|
38
47
|
gray2 = cv2.cvtColor(img2, cv2.COLOR_RGB2GRAY)
|
39
48
|
gray3 = cv2.cvtColor(img3, cv2.COLOR_RGB2GRAY)
|
49
|
+
# 絶対差分を調べる
|
40
50
|
diff1 = cv2.absdiff(gray1, gray2)
|
41
51
|
diff2 = cv2.absdiff(gray2, gray3)
|
52
|
+
# 論理積を調べる
|
42
53
|
diff_and = cv2.bitwise_and(diff1, diff2)
|
54
|
+
# 白黒二値化
|
43
55
|
_, diff_wb = cv2.threshold(diff_and, 30, 255, cv2.THRESH_BINARY)
|
56
|
+
# ノイズの除去
|
44
57
|
diff = cv2.medianBlur(diff_wb, 5)
|
45
58
|
return diff
|
46
59
|
|
60
|
+
# 映像から画像を取得する
|
47
61
|
def get_image(cap):
|
48
62
|
img = cap.read()[1]
|
49
63
|
img = cv2.resize(img, (600, 400))
|
8
誤字の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -6,7 +6,8 @@
|
|
6
6
|
|
7
7
|
|
8
8
|
### 該当のソースコード
|
9
|
+
|
9
|
-
```
|
10
|
+
```python
|
10
11
|
import cv2
|
11
12
|
save_path = "./sample"
|
12
13
|
def main():
|
@@ -49,6 +50,7 @@
|
|
49
50
|
print(img.shape)
|
50
51
|
return img
|
51
52
|
main()
|
53
|
+
```
|
52
54
|
|
53
55
|
|
54
56
|
|
7
誤字
title
CHANGED
File without changes
|
body
CHANGED
@@ -50,10 +50,6 @@
|
|
50
50
|
return img
|
51
51
|
main()
|
52
52
|
|
53
|
-
python```ここに言語を入力python
|
54
|
-
コード
|
55
|
-
```
|
56
|
-
```
|
57
53
|
|
58
54
|
|
59
55
|
### 補足情報(FW/ツールのバージョンなど)
|
6
誤字
title
CHANGED
File without changes
|
body
CHANGED
@@ -50,7 +50,7 @@
|
|
50
50
|
return img
|
51
51
|
main()
|
52
52
|
|
53
|
-
```ここに言語を入力python
|
53
|
+
python```ここに言語を入力python
|
54
54
|
コード
|
55
55
|
```
|
56
56
|
```
|
5
文法
title
CHANGED
File without changes
|
body
CHANGED
@@ -48,7 +48,9 @@
|
|
48
48
|
img = cv2.resize(img, (600, 400))
|
49
49
|
print(img.shape)
|
50
50
|
return img
|
51
|
+
main()
|
52
|
+
|
51
|
-
|
53
|
+
```ここに言語を入力python
|
52
54
|
コード
|
53
55
|
```
|
54
56
|
```
|
4
誤字
title
CHANGED
File without changes
|
body
CHANGED
@@ -47,10 +47,10 @@
|
|
47
47
|
img = cap.read()[1]
|
48
48
|
img = cv2.resize(img, (600, 400))
|
49
49
|
print(img.shape)
|
50
|
+
return img
|
50
|
-
|
51
|
+
main()```ここに言語を入力python
|
51
52
|
コード
|
52
53
|
```
|
53
|
-
main()
|
54
54
|
```
|
55
55
|
|
56
56
|
|
3
文法の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -6,6 +6,7 @@
|
|
6
6
|
|
7
7
|
|
8
8
|
### 該当のソースコード
|
9
|
+
```ここに言語を入力
|
9
10
|
import cv2
|
10
11
|
save_path = "./sample"
|
11
12
|
def main():
|
@@ -46,8 +47,11 @@
|
|
46
47
|
img = cap.read()[1]
|
47
48
|
img = cv2.resize(img, (600, 400))
|
48
49
|
print(img.shape)
|
49
|
-
return img
|
50
|
+
return img```ここに言語を入力
|
51
|
+
コード
|
52
|
+
```
|
50
53
|
main()
|
54
|
+
```
|
51
55
|
|
52
56
|
|
53
57
|
### 補足情報(FW/ツールのバージョンなど)
|
2
誤字の修正
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
|
1
|
+
OpenCVを使って撮影した映像から動体を検知し、そのシーンを画像として保存したいです。
|
body
CHANGED
@@ -51,4 +51,5 @@
|
|
51
51
|
|
52
52
|
|
53
53
|
### 補足情報(FW/ツールのバージョンなど)
|
54
|
-
プログラミング初学者ですが、ネットで調べたWebカメラを使ってリアルタイムに動体を検出するコードを参考に作ったのでコードに大きな間違いはないはずなのですが、、。
|
54
|
+
プログラミング初学者ですが、ネットで調べたWebカメラを使ってリアルタイムに動体を検出するコードを参考に作ったのでコードに大きな間違いはないはずなのですが、、。
|
55
|
+
もしほかにいい構文があれば教えて頂きたいです。
|
1
誤字の修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -51,4 +51,4 @@
|
|
51
51
|
|
52
52
|
|
53
53
|
### 補足情報(FW/ツールのバージョンなど)
|
54
|
-
プログラミング初学者ですが、ネットで調べたWebカメラを使ってリアルタイムに動体を検出するコードを参考に作ったのでコードに大きな間違いはないはず
|
54
|
+
プログラミング初学者ですが、ネットで調べたWebカメラを使ってリアルタイムに動体を検出するコードを参考に作ったのでコードに大きな間違いはないはずなのですが、、。
|