質問編集履歴

3

更新

2017/09/26 14:27

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -118,42 +118,102 @@
118
118
 
119
119
 
120
120
 
121
- 上のソースコードのwhile文の中に
121
+
122
122
 
123
123
  ```python
124
124
 
125
+ import cv2
126
+
127
+ import numpy as np
128
+
129
+ import time
130
+
131
+
132
+
133
+ cap = cv2.VideoCapture(0)
134
+
135
+ size = (640, 480)
136
+
137
+ ret, frame1 = cap.read()
138
+
139
+ #frame1 = cv2.resize(frame1, size)
140
+
141
+ ret, frame2 = cap.read()
142
+
143
+ #frame2 = cv2.resize(frame2, size)
144
+
145
+ ret, frame3 = cap.read()
146
+
147
+
148
+
149
+ def sub(a, b, c):
150
+
151
+ c = a - b
152
+
125
- if #白を検出したら:
153
+ if c > 0:
154
+
126
-
155
+ return c
156
+
157
+ if c < 0:
158
+
159
+ return -1 * c
160
+
161
+
162
+
163
+ #ave1 = frame1.mean(0).mean(0).mean(0)
164
+
165
+ #ave2 = frame2.mean(0).mean(0).mean(0)
166
+
167
+
168
+
169
+ while(True):
170
+
171
+ frame1 = frame2
172
+
173
+ #frame2 = frame3
174
+
127
- while (cap.isOpened()):
175
+ frame2 = cap.read()
176
+
128
-
177
+ #frame3 = cap.read()
178
+
179
+
180
+
181
+ #ave1 = ave2
182
+
183
+ ave2 = frame2.mean(0).mean(0).mean(0)
184
+
185
+ print ave2
186
+
187
+
188
+
189
+
190
+
191
+ #subave = sub(ave1, ave2, 0)
192
+
129
- #写真を撮り保存(一秒間隔で)
193
+ #print subave
130
-
131
- #フレームを更新
194
+
132
-
195
+
196
+
133
- if #白が検出できなかったら
197
+ time.sleep(0.7)
198
+
134
-
199
+ if cv2.waitKey(1) & 0xFF == ord('q'):
200
+
135
- break
201
+ break
202
+
203
+
204
+
205
+ cap.release()
206
+
207
+ cv2.destroyAllWindows()
208
+
209
+
136
210
 
137
211
  ```
138
212
 
139
- のようなものを入れたいのですが条件をどう書いていいのかわかりません。
140
-
141
- 誤差などほん少しだけ白なる場合あるので、そを考えないようなけばならいと思いますが、どうすればいいでしょうか?
213
+ 平均値を出すところま行きましたがwhile外にave1,ave2をかと、ちろん値が更新されないので内側かかなけばならいと思いますが、
142
-
143
-
144
-
145
- 条件を考える上で既存の画像では
214
+
146
-
147
- ```python
148
-
149
- def ave():
150
-
151
- img = cv2.imread('1.jpg',0)
152
-
153
- averages = img.mean(0).mean(0)
215
+ ave2 = frame2.mean(0).mean(0).mean(0)
154
-
216
+
155
- print averages
217
+ AttributeError: 'tuple' object has no attribute 'mean'
156
-
157
- ```
218
+
158
-
159
- すると平均値が出ると思いますが動画の場合違方法を取なければならなでしょうか?
219
+ いうエラーが出てしまいます。これを解決するにはどしたいでしょうか?

2

更新

2017/09/26 14:27

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -139,3 +139,21 @@
139
139
  のようなものを入れたいのですが条件をどう書いていいのかわかりません。
140
140
 
141
141
  誤差などでほんの少しだけ白くなる場合もあるので、それを考えないようにしなけらばならないと思いますが、どうすればいいでしょうか?
142
+
143
+
144
+
145
+ 条件を考える上で既存の画像では
146
+
147
+ ```python
148
+
149
+ def ave():
150
+
151
+ img = cv2.imread('1.jpg',0)
152
+
153
+ averages = img.mean(0).mean(0)
154
+
155
+ print averages
156
+
157
+ ```
158
+
159
+ とすると平均値が出ると思いますが動画の場合違う方法を取らなければならないのでしょうか?

1

改善

2017/09/26 12:36

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -137,3 +137,5 @@
137
137
  ```
138
138
 
139
139
  のようなものを入れたいのですが条件をどう書いていいのかわかりません。
140
+
141
+ 誤差などでほんの少しだけ白くなる場合もあるので、それを考えないようにしなけらばならないと思いますが、どうすればいいでしょうか?