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

質問編集履歴

1

質問を簡潔にしました。

2019/11/29 01:02

投稿

raspypy
raspypy

スコア247

title CHANGED
File without changes
body CHANGED
@@ -9,82 +9,7 @@
9
9
 
10
10
  ##困っていること
11
11
 
12
- プログラムを繰り返し実行していると、撮影終了~撮影開始までに約10秒程度の時間がかかってしまいます。
12
+ プログラムを繰り返し実行していると、撮影終了~撮影開始までに秒程度の時間がかかってしまいます。
13
- つまり、この10秒間は撮影されていない区間となってしまうので、困っています。
13
+ つまり、この秒間は撮影されていない区間となってしまうので、困っています。
14
14
 
15
- 検知前と検知後の動画両方を保存できると思い、↓のプログラムを作成したのですが、
16
- この撮影されない時間(約10秒)の対応に困っています。
17
-
18
- 何か解決するためのアイデアがありましたら、教えていただけると助かります。
15
+ 何か解決するためのアイデアがありましたら、教えていただけると助かります。
19
-
20
-
21
- ##プログラムコード
22
- ```python
23
- def movie():
24
- cap = cv2.VideoCapture(0)
25
- width = 640
26
- height = 480
27
- now = datetime.now()
28
- #検知後 動画ファイル
29
- filename_a = '/home/pi/dev/data/Recorder/' + now.strftime('%Y%m%d_%H%M%S') + '_after.mp4'
30
- #検知前 動画ファイル
31
- filename_b = '/home/pi/dev/data/Recorder/' + now.strftime('%Y%m%d_%H%M%S') + '_before.mp4'
32
- fmt = cv2.VideoWriter_fourcc('m', 'p', '4', 'v') # ファイル形式(ここではmp4)
33
-
34
- #動画撮影開始
35
- GPIO.output(19, GPIO.HIGH)
36
- sleep(0.5)
37
- GPIO.output(19, GPIO.LOW)
38
- sleep(0.5)
39
-
40
- if eline.iloc[0][5]>=25.0:
41
- os.rename ('/home/pi/dev/data/Recorder/Monitoring....mp4', filename_b)
42
- writer1 = cv2.VideoWriter(filename_a, fmt ,25, (width, height))
43
- read_count()
44
- y_sum = y_bool.sum()
45
- prev_y_sum = y_bool.sum()
46
-
47
- while True:
48
- ret, frame = cap.read()
49
- writer1.write(frame)
50
- #GPIO.output(19, GPIO.HIGH)
51
- #sleep(1.0)
52
- #GPIO.output(19, GPIO.LOW)
53
- #sleep(1.0)
54
- read_count()
55
- y_sum = y_bool.sum()
56
- #print ('prev=' + str(prev_y_sum))
57
- #print ('current=' + str(y_sum))
58
- if y_sum != prev_y_sum:
59
- GPIO.output(13, GPIO.HIGH)
60
- sleep(0.25)
61
- GPIO.output(13, GPIO.LOW)
62
- sleep(0.25)
63
- writer1.release()
64
- #動画ファイルをコピー
65
- shutil.copy (filename_a, '/home/pi/dev/data/Recorder/Monitoring....mp4')
66
- break
67
- else:
68
- writer2 = cv2.VideoWriter('/home/pi/dev/data/Recorder/Monitoring....mp4', fmt ,25, (width, height))
69
- read_count()
70
- y_sum = y_bool.sum()
71
- prev_y_sum = y_bool.sum()
72
- while True:
73
- ret, frame = cap.read()
74
- writer2.write(frame)
75
- #end_time = datetime.now()
76
- #diff = end_time - start_time
77
- #print (diff)
78
- read_count()
79
- y_sum = y_bool.sum()
80
- #print ('prev=' + str(prev_y_sum))
81
- #print ('current=' + str(y_sum))
82
- if y_sum != prev_y_sum:
83
- GPIO.output(13, GPIO.HIGH)
84
- sleep(0.25)
85
- GPIO.output(13, GPIO.LOW)
86
- sleep(0.25)
87
- writer2.release()
88
- break
89
- cap.release()
90
- ```