質問編集履歴
3
更新
test
CHANGED
File without changes
|
test
CHANGED
@@ -118,42 +118,102 @@
|
|
118
118
|
|
119
119
|
|
120
120
|
|
121
|
-
|
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
|
-
|
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
|
-
|
197
|
+
time.sleep(0.7)
|
198
|
+
|
134
|
-
|
199
|
+
if cv2.waitKey(1) & 0xFF == ord('q'):
|
200
|
+
|
135
|
-
|
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
|
-
|
215
|
+
ave2 = frame2.mean(0).mean(0).mean(0)
|
154
|
-
|
216
|
+
|
155
|
-
|
217
|
+
AttributeError: 'tuple' object has no attribute 'mean'
|
156
|
-
|
157
|
-
|
218
|
+
|
158
|
-
|
159
|
-
と
|
219
|
+
というエラーが出てしまいます。これを解決するにはどうしたら良いでしょうか?
|
2
更新
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
改善
test
CHANGED
File without changes
|
test
CHANGED
@@ -137,3 +137,5 @@
|
|
137
137
|
```
|
138
138
|
|
139
139
|
のようなものを入れたいのですが条件をどう書いていいのかわかりません。
|
140
|
+
|
141
|
+
誤差などでほんの少しだけ白くなる場合もあるので、それを考えないようにしなけらばならないと思いますが、どうすればいいでしょうか?
|