aboutsummaryrefslogtreecommitdiff
path: root/pix_opencv_blobtrack-help.pd
blob: a9802282abb13d785484ad2998f8a184202a0d21 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
#N canvas 1010 391 818 513 10;
#X obj 7 200 cnv 15 430 300 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 7 156 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577
0;
#X text 16 160 Arguments:;
#X obj 7 60 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 443 10 cnv 15 320 420 empty empty empty 20 12 0 14 -228992 -66577
0;
#X text 50 19 Synopsis: [pix_opencv_blobtrack];
#X text 71 38 Class: pix_opencv;
#X text 17 63 Description: all-in-one blobtracker;
#X text 28 86 [pix_opencv_blobtrack] implements a blobtracking pipeline.
This is made by a foreground detector \, a blob detector \, a blob
tracker and a trajectory post processor.;
#X text 30 173 none;
#X obj 450 216 cnv 15 250 120 empty empty empty 20 12 0 14 -4034 -66577
0;
#X obj 656 363 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 1 98 450 300 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X obj 67 41 route create;
#X msg 67 70 set destroy;
#X msg 142 68 set create;
#X msg 132 112 create \, 1;
#X msg 198 112 destroy;
#X msg 234 221 dimen 500 500;
#X obj 295 164 loadbang;
#X msg 279 190 dimen 640 480;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 0 6 0;
#X connect 3 1 5 0;
#X connect 3 1 7 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 0 0;
#X connect 7 0 0 0;
#X connect 8 0 0 0;
#X connect 9 0 10 0;
#X connect 10 0 0 0;
#X restore 661 402 pd gemwin;
#X msg 661 383 destroy;
#X text 657 362 Create window:;
#X obj 454 364 pix_texture;
#X obj 454 30 gemhead;
#X msg 520 45 auto 1;
#X obj 520 18 loadbang;
#X obj 606 295 print dumpout;
#X floatatom 501 293 5 0 0 0 - - -;
#X obj 501 274 route blobnum blob;
#N canvas 1072 385 709 722 showblob 0;
#X obj 187 13 inlet blobinformation;
#X obj 279 316 gemlist;
#X obj 279 296 t b a;
#X obj 291 50 gemhead 70;
#X obj 129 258 list append;
#X obj 124 140 list split 2;
#X obj 124 114 list append;
#X obj 291 73 t b a;
#X obj 158 232 t b a;
#X obj 279 506 translateXYZ;
#X msg 420 349 \$2;
#X obj 279 356 alpha 1;
#X obj 279 466 translateXYZ -0.5 -0.5 0;
#X obj 279 530 scaleXYZ 0.125 0.25 0;
#X msg 459 349 \$3;
#X msg 420 499 \$4;
#X msg 469 472 \$5;
#X obj 463 328 t a a;
#X obj 279 576 circle 0.5;
#X obj 279 426 color 1 0 0 0.2;
#X obj 279 336 separator;
#X msg 499 499 \$1;
#X obj 279 676 text2d;
#X obj 279 616 color 1 1 0 1;
#X obj 158 198 list split 6;
#X msg 124 167 \$2;
#X obj 366 622 loadbang;
#X msg 366 641 12;
#X msg 521 377 \$6;
#X obj 521 399 > 0;
#X obj 521 420 sel 1 0;
#X msg 520 441 1 0 0 0.2;
#X msg 540 461 0 1 0 0.2;
#X obj 279 596 translateXYZ 0.2 0.2 0;
#X text 336 194 here is an example on how to display blobs with Gem
;
#X obj 279 446 scaleXYZ 10.666 8 0;
#X connect 0 0 6 1;
#X connect 1 0 20 0;
#X connect 2 0 1 0;
#X connect 2 1 17 0;
#X connect 3 0 7 0;
#X connect 4 0 24 0;
#X connect 5 0 25 0;
#X connect 5 1 24 0;
#X connect 6 0 5 0;
#X connect 7 0 6 0;
#X connect 7 1 1 1;
#X connect 8 0 4 0;
#X connect 8 1 2 0;
#X connect 9 0 13 0;
#X connect 10 0 9 1;
#X connect 11 0 19 0;
#X connect 12 0 9 0;
#X connect 13 0 18 0;
#X connect 14 0 9 2;
#X connect 15 0 13 1;
#X connect 16 0 13 2;
#X connect 17 0 14 0;
#X connect 17 0 10 0;
#X connect 17 1 16 0;
#X connect 17 1 15 0;
#X connect 17 1 21 0;
#X connect 17 1 28 0;
#X connect 18 0 33 0;
#X connect 19 0 35 0;
#X connect 20 0 11 0;
#X connect 21 0 22 0;
#X connect 23 0 22 0;
#X connect 24 0 8 0;
#X connect 24 1 4 1;
#X connect 25 0 24 1;
#X connect 26 0 27 0;
#X connect 27 0 22 1;
#X connect 28 0 29 0;
#X connect 29 0 30 0;
#X connect 30 0 31 0;
#X connect 30 1 32 0;
#X connect 31 0 19 1;
#X connect 32 0 19 1;
#X connect 33 0 23 0;
#X connect 35 0 12 0;
#X restore 553 315 pd showblob;
#X obj 454 395 rectangle 5.333 4;
#X obj 454 124 pix_resize 320 240;
#X obj 454 255 pix_opencv_blobtrack;
#X obj 454 173 pix_rgba;
#X obj 471 227 r \$0-properties;
#X text 464 153 input format : rgba or grey;
#N canvas 695 197 544 482 properties 0;
#X msg 290 314 monitorStage \$1;
#X msg 4 21 getModule;
#X msg 4 41 getModule fg;
#X msg 4 61 getModule bd;
#X msg 4 81 getModule bt;
#X msg 4 101 getModule btpp;
#X obj 12 142 loadbang;
#X msg 260 194 setModule bd BD_CC;
#X msg 27 194 setModule fg FG_0S;
#X msg 147 194 setModule fg FG_1;
#X text 289 249 monitoring stage :;
#X obj 290 266 vradio 15 1 0 3 empty empty empty 0 -8 0 10 -262144
-1 -1 0;
#X text 308 265 input image;
#X text 307 281 foreground mask;
#X text 307 296 diplsay blobs;
#X obj -35 433 s \$0-properties;
#X obj -35 353 t a;
#X msg 287 380 fgTrainFrames \$1;
#X floatatom 287 353 5 0 0 0 - - -;
#X text 72 20 post all accessibles modules and their nickname;
#X text 108 56 post information of specific module and get the avaiblable
variant to load;
#X msg 12 160 setModule fg FG_1 \, setModule bd BD_Simple \, setModule
bt CC \, setModule btpp none \, setModule bta none;
#X connect 0 0 15 0;
#X connect 1 0 16 0;
#X connect 2 0 16 0;
#X connect 3 0 16 0;
#X connect 4 0 16 0;
#X connect 5 0 16 0;
#X connect 6 0 21 0;
#X connect 7 0 16 0;
#X connect 8 0 16 0;
#X connect 9 0 16 0;
#X connect 11 0 0 0;
#X connect 16 0 15 0;
#X connect 17 0 15 0;
#X connect 18 0 17 0;
#X connect 21 0 16 0;
#X restore 610 222 pd properties;
#X obj 454 70 pix_film;
#X text 459 96 the bigger the image is \, the more CPU expensive the
algo will be;
#X text 16 202 Inlet 1 accepts a lot of messages \, here are the most
usefull ones \, see [pd properties] for details.;
#X text 26 232 getModule : get information about loaded modules.;
#X text 26 252 setModule : set algorythm to use in each module.;
#X text 26 272 monitoringStage : set the location where output image
is taken (input \, foreground mask or input with tracking information)
;
#X obj 580 51 openpanel;
#X obj 583 24 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X msg 580 72 open \$1;
#X text 15 321 Outlet 1 : gemstate;
#X text 15 341 Outlet 2 :;
#X text 35 360 blobnum : number of blobs in the current frame;
#X text 36 376 blob matrix (follow the iem matrix standard) :;
#X text 55 389 <mtx rows (nb of blobs)> <mtx cols (6)>;
#X text 65 399 and for each blob : ID \, x \, y \, width \, height
\, state (valide or not);
#X text 35 428 there are also a lots of informations about parameters
and algorithms... check out the pd-properties;
#X connect 12 0 13 0;
#X connect 13 0 12 0;
#X connect 15 0 23 0;
#X connect 16 0 30 0;
#X connect 17 0 30 0;
#X connect 18 0 17 0;
#X connect 21 0 20 0;
#X connect 21 1 22 0;
#X connect 21 2 19 0;
#X connect 24 0 26 0;
#X connect 25 0 15 0;
#X connect 25 1 21 0;
#X connect 26 0 25 0;
#X connect 27 0 25 0;
#X connect 30 0 24 0;
#X connect 36 0 38 0;
#X connect 37 0 36 0;
#X connect 38 0 30 0;