質問編集履歴

5

内容修正

2020/09/30 04:51

投稿

MATLIB
MATLIB

スコア27

test CHANGED
File without changes
test CHANGED
@@ -332,22 +332,6 @@
332
332
 
333
333
 
334
334
 
335
- # lines = []
336
-
337
- # lengh = range(0, len(circle_x), 1)
338
-
339
- # im = plt.plot(lengh, circle_x)
340
-
341
- # lines.extend(im)
342
-
343
- # ims.append(lines)
344
-
345
- # plt.xlim(xmin, xmax)
346
-
347
- # plt.ylim(ymin, ymax)
348
-
349
-
350
-
351
335
  if i==1:
352
336
 
353
337
  lengh = range(0, len(circle_x), 1)

4

追記

2020/09/30 04:51

投稿

MATLIB
MATLIB

スコア27

test CHANGED
File without changes
test CHANGED
@@ -62,12 +62,28 @@
62
62
 
63
63
 
64
64
 
65
+ 追記3)
66
+
67
+ 追記2は解決しました。
68
+
69
+ cv2.imshow('MotionDetected Area Frame', frame)以下参照
70
+
71
+
72
+
73
+ 下記のコードを実行すると、
74
+
75
+ TypeError: 'list' object is not callableとエラー出ます。
76
+
77
+ im= plt.plot(lengh, circle_x)が1フレーム目では問題ないですが、
78
+
79
+ 2フレーム目にこのエラーが表示されます。
80
+
81
+ どなたかご教授ください。
82
+
65
83
 
66
84
 
67
85
  ```ここに言語を入力
68
86
 
69
- # -*- coding: utf-8 -*-
70
-
71
87
 
72
88
 
73
89
  import cv2
@@ -86,7 +102,7 @@
86
102
 
87
103
  # 動画ファイルを読み込みclassオブジェクトに入れる
88
104
 
89
- cap = cv2.VideoCapture(動画ファイルパス)
105
+ cap = cv2.VideoCapture(ファイルパス)
90
106
 
91
107
 
92
108
 
@@ -98,6 +114,16 @@
98
114
 
99
115
  ims = []
100
116
 
117
+ lines = []
118
+
119
+ xmax = 2500
120
+
121
+ xmin = 0
122
+
123
+ ymax = 300
124
+
125
+ ymin = 200
126
+
101
127
 
102
128
 
103
129
  mean_box = []
@@ -200,7 +226,7 @@
200
226
 
201
227
 
202
228
 
203
- # #### の位置をある程度推定する ####
229
+ # #### の位置をある程度推定する ####
204
230
 
205
231
  frame = frame[50:480, 50:640]
206
232
 
@@ -306,41 +332,59 @@
306
332
 
307
333
 
308
334
 
309
- lines = []
335
+ # lines = []
336
+
310
-
337
+ # lengh = range(0, len(circle_x), 1)
338
+
339
+ # im = plt.plot(lengh, circle_x)
340
+
341
+ # lines.extend(im)
342
+
343
+ # ims.append(lines)
344
+
345
+ # plt.xlim(xmin, xmax)
346
+
347
+ # plt.ylim(ymin, ymax)
348
+
349
+
350
+
351
+ if i==1:
352
+
311
- lengh = range(0, len(circle_x), 1)
353
+ lengh = range(0, len(circle_x), 1)
312
-
354
+
313
- im = plt.plot(lengh, circle_x)
355
+ im= plt.plot(lengh, circle_x)
314
-
356
+
315
- lines.extend(im)
357
+ lines.extend(im)
316
-
358
+
317
- ims.append([lines])
359
+ ims.append(lines)
318
-
319
-
320
-
360
+
361
+
362
+
321
- xmax = 2500
363
+ ani = animation.FuncAnimation(fig, ims, interval=1)
322
-
364
+
365
+
366
+
323
- xmin = 0
367
+ else:
324
-
368
+
325
- ymax = 300
369
+ plt.cla()
370
+
326
-
371
+ lengh = range(0, len(circle_x), 1)
372
+
373
+ im= plt.plot(lengh, circle_x)
374
+
375
+ lines.extend(im)
376
+
327
- ymin = 200
377
+ ims.append(lines)
328
-
378
+
329
- plt.xlim(xmin, xmax)
379
+ plt.xlim(xmin, xmax)
330
-
380
+
331
- plt.ylim(ymin, ymax)
381
+ plt.ylim(ymin, ymax)
382
+
332
-
383
+ # ani.save("plot2.gif", writer='imagemagick')
333
-
334
-
384
+
335
- ani = animation.ArtistAnimation(fig, ims, interval=1, repeat_delay=1000)
385
+ # ani.save('anim.mp4', writer="ffmpeg")
336
-
337
- # ani = animation.FuncAnimation(fig, ims, interval=1)
386
+
338
-
339
-
340
-
341
- # 表示
342
-
343
- plt.show()
387
+ plt.pause(0.001)
344
388
 
345
389
 
346
390
 

3

追記

2020/09/30 04:47

投稿

MATLIB
MATLIB

スコア27

test CHANGED
File without changes
test CHANGED
@@ -30,7 +30,7 @@
30
30
 
31
31
 
32
32
 
33
- 追記)
33
+ 追記
34
34
 
35
35
  ims.append(lines)でエラーが出ないようになりました。
36
36
 
@@ -46,6 +46,22 @@
46
46
 
47
47
 
48
48
 
49
+ 追記2)
50
+
51
+ plt.pauseで処理が止まらなくなりました。
52
+
53
+ ですが、1フレームごとにグラフが表示されています。
54
+
55
+ やりたいこととしては下記になります。
56
+
57
+ 1.animation.ArtistAnimation()でims = []を取り込んで?
58
+
59
+ グラフを表示したままにしてリアルタイムで表示する。
60
+
61
+ 2.ims = []に値を入れるまでの処理を進めて、動画を表示する
62
+
63
+
64
+
49
65
 
50
66
 
51
67
  ```ここに言語を入力

2

追記

2020/09/28 01:32

投稿

MATLIB
MATLIB

スコア27

test CHANGED
File without changes
test CHANGED
@@ -30,6 +30,22 @@
30
30
 
31
31
 
32
32
 
33
+ 追記)
34
+
35
+ ims.append(lines)でエラーが出ないようになりました。
36
+
37
+ ですが、グラフ画面が表示されたまま処理が止まります。
38
+
39
+ グラフ画面の×ボタンを押すとまたグラフ画面が表示されます。
40
+
41
+ 何回か押しているとグラフの線が画面に表示されてきたので、
42
+
43
+ ×ボタンを押すごとに1フレームごと処理が進んでいるみたいです。
44
+
45
+ どなたかご教授ください。
46
+
47
+
48
+
33
49
 
34
50
 
35
51
  ```ここに言語を入力

1

エラー内容追加

2020/09/23 13:22

投稿

MATLIB
MATLIB

スコア27

test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,21 @@
8
8
 
9
9
  円を取得して、アニメーショングラフを作成してみたのですが
10
10
 
11
+ Traceback (most recent call last):
12
+
13
+ File "C:\Users\User\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\cbook\__init__.py", line 216, in process
14
+
15
+ func(*args, **kwargs)
16
+
17
+ File "C:\Users\User\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\animation.py", line 953, in _start
18
+
19
+ self._init_draw()
20
+
21
+ File "C:\Users\User\AppData\Local\Continuum\anaconda3\lib\site-packages\matplotlib\animation.py", line 1523, in _init_draw
22
+
23
+ artist.set_visible(False)
24
+
11
- ttributeError: 'list' object has no attribute 'set_visible'とエラーがでます。
25
+ AttributeError: 'list' object has no attribute 'set_visible'とエラーがでます。
12
26
 
13
27
  いろいろ調べてみたのですが改善できません。
14
28