#N canvas 35 25 662 452 10;
#X text 452 8 GEM object;
#X obj 9 265 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
0;
#X text 40 267 Inlets:;
#X text 39 362 Outlets:;
#X obj 9 227 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
0;
#X text 18 226 Arguments:;
#X obj 8 56 cnv 15 430 165 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 449 77 cnv 15 200 320 empty empty empty 20 12 0 14 -228992 -66577
0;
#X text 453 60 Example:;
#X obj 544 330 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 0 450 300 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X msg 67 70 set destroy;
#X msg 132 112 create \, 1;
#X msg 198 112 destroy;
#X msg 156 71 set create;
#X obj 67 41 route create;
#X connect 2 0 7 0;
#X connect 3 0 1 0;
#X connect 4 0 0 0;
#X connect 5 0 0 0;
#X connect 6 0 1 0;
#X connect 7 0 3 0;
#X connect 7 0 4 0;
#X connect 7 1 6 0;
#X connect 7 1 5 0;
#X restore 549 369 pd gemwin;
#X msg 549 350 create;
#X text 545 329 Create window:;
#X obj 451 173 cnv 15 185 120 empty empty empty 20 12 0 14 -24198 -66577
0;
#X obj 451 83 gemhead;
#X text 17 376 Outlet 1: gemlist;
#X text 24 281 Inlet 1: gemlist;
#X obj 451 300 pix_texture;
#X obj 451 151 pix_film;
#X obj 515 151 t f;
#X obj 464 103 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#N canvas 0 0 450 300 open 0;
#X obj 85 49 inlet;
#X obj 85 237 outlet;
#X obj 85 145 openpanel;
#X msg 85 179 open \$1;
#X msg 259 213 auto 1;
#X obj 259 189 loadbang;
#X connect 0 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 1 0;
#X connect 4 0 1 0;
#X connect 5 0 4 0;
#X restore 464 131 pd open;
#X text 505 77 open a supported;
#X text 506 88 movie-clip;
#X text 523 114 macOS: quicktime;
#X text 516 104 MS Windows: *.AVI;
#X text 523 124 linux: depends...;
#X floatatom 463 190 3 0 100 2 threshold - -;
#X obj 463 207 / 100;
#X text 50 12 Synopsis: [pix_blobtracker];
#X text 71 31 Class: pix object (analysis);
#X text 29 57 Description: blob detector and tracker;
#X obj 451 262 pix_blobtracker;
#X obj 451 322 square 4;
#X msg 463 228 threshold \$1;
#X floatatom 553 190 3 0 100 2 blobsize - -;
#X obj 553 207 / 100;
#X msg 553 228 blobSize \$1;
#N canvas 0 0 450 300 showblobs 0;
#X obj 67 113 route 0 1 2 3 4 5;
#N canvas 0 0 451 339 showblob 0;
#X obj 76 184 gemhead;
#X obj 76 266 translateXYZ;
#X obj 102 58 pack;
#X obj 102 34 inlet x|y;
#X obj 76 225 color 1 1 1;
#X obj 219 75 loadbang;
#X obj 219 122 random 256;
#X obj 219 143 / 256;
#X obj 219 185 hsv2rgb;
#X msg 219 166 \$1 1 1;
#X obj 219 97 t b b;
#X obj 76 286 sphere 0.2;
#X msg 249 233 0;
#X msg 216 233 0.2;
#X obj 216 254 f;
#X obj 298 47 t b;
#X obj 298 24 inlet reset;
#X obj 139 183 t f b;
#X obj 102 85 unpack;
#X obj 102 108 * 8;
#X obj 102 131 - 4;
#X obj 145 106 * 8;
#X obj 145 129 - 4;
#X connect 0 0 4 0;
#X connect 1 0 11 0;
#X connect 2 0 18 0;
#X connect 3 0 2 0;
#X connect 4 0 1 0;
#X connect 5 0 10 0;
#X connect 6 0 7 0;
#X connect 7 0 9 0;
#X connect 8 0 4 1;
#X connect 9 0 8 0;
#X connect 10 0 6 0;
#X connect 10 1 12 0;
#X connect 12 0 14 0;
#X connect 13 0 14 0;
#X connect 14 0 11 1;
#X connect 15 0 12 0;
#X connect 16 0 15 0;
#X connect 17 0 1 2;
#X connect 17 1 13 0;
#X connect 18 0 19 0;
#X connect 18 1 21 0;
#X connect 19 0 20 0;
#X connect 20 0 1 1;
#X connect 21 0 22 0;
#X connect 22 0 17 0;
#X restore 67 136 pd showblob;
#N canvas 0 0 451 339 showblob 0;
#X obj 76 184 gemhead;
#X obj 76 266 translateXYZ;
#X obj 102 58 pack;
#X obj 102 34 inlet x|y;
#X obj 76 225 color 1 1 1;
#X obj 219 75 loadbang;
#X obj 219 122 random 256;
#X obj 219 143 / 256;
#X obj 219 185 hsv2rgb;
#X msg 219 166 \$1 1 1;
#X obj 219 97 t b b;
#X obj 76 286 sphere 0.2;
#X msg 249 233 0;
#X msg 216 233 0.2;
#X obj 216 254 f;
#X obj 298 47 t b;
#X obj 298 24 inlet reset;
#X obj 139 183 t f b;
#X obj 102 85 unpack;
#X obj 102 108 * 8;
#X obj 102 131 - 4;
#X obj 145 106 * 8;
#X obj 145 129 - 4;
#X connect 0 0 4 0;
#X connect 1 0 11 0;
#X connect 2 0 18 0;
#X connect 3 0 2 0;
#X connect 4 0 1 0;
#X connect 5 0 10 0;
#X connect 6 0 7 0;
#X connect 7 0 9 0;
#X connect 8 0 4 1;
#X connect 9 0 8 0;
#X connect 10 0 6 0;
#X connect 10 1 12 0;
#X connect 12 0 14 0;
#X connect 13 0 14 0;
#X connect 14 0 11 1;
#X connect 15 0 12 0;
#X connect 16 0 15 0;
#X connect 17 0 1 2;
#X connect 17 1 13 0;
#X connect 18 0 19 0;
#X connect 18 1 21 0;
#X connect 19 0 20 0;
#X connect 20 0 1 1;
#X connect 21 0 22 0;
#X connect 22 0 17 0;
#X restore 86 155 pd showblob;
#N canvas 0 0 451 339 showblob 0;
#X obj 76 184 gemhead;
#X obj 76 266 translateXYZ;
#X obj 102 58 pack;
#X obj 102 34 inlet x|y;
#X obj 76 225 color 1 1 1;
#X obj 219 75 loadbang;
#X obj 219 122 random 256;
#X obj 219 143 / 256;
#X obj 219 185 hsv2rgb;
#X msg 219 166 \$1 1 1;
#X obj 219 97 t b b;
#X obj 76 286 sphere 0.2;
#X msg 249 233 0;
#X msg 216 233 0.2;
#X obj 216 254 f;
#X obj 298 47 t b;
#X obj 298 24 inlet reset;
#X obj 139 183 t f b;
#X obj 102 92 unpack;
#X obj 102 115 * 8;
#X obj 102 138 - 4;
#X obj 145 113 * 8;
#X obj 145 136 - 4;
#X connect 0 0 4 0;
#X connect 1 0 11 0;
#X connect 2 0 18 0;
#X connect 3 0 2 0;
#X connect 4 0 1 0;
#X connect 5 0 10 0;
#X connect 6 0 7 0;
#X connect 7 0 9 0;
#X connect 8 0 4 1;
#X connect 9 0 8 0;
#X connect 10 0 6 0;
#X connect 10 1 12 0;
#X connect 12 0 14 0;
#X connect 13 0 14 0;
#X connect 14 0 11 1;
#X connect 15 0 12 0;
#X connect 16 0 15 0;
#X connect 17 0 1 2;
#X connect 17 1 13 0;
#X connect 18 0 19 0;
#X connect 18 1 21 0;
#X connect 19 0 20 0;
#X connect 20 0 1 1;
#X connect 21 0 22 0;
#X connect 22 0 17 0;
#X restore 105 174 pd showblob;
#N canvas 0 0 451 339 showblob 0;
#X obj 76 184 gemhead;
#X obj 76 266 translateXYZ;
#X obj 102 58 pack;
#X obj 102 34 inlet x|y;
#X obj 76 225 color 1 1 1;
#X obj 219 75 loadbang;
#X obj 219 122 random 256;
#X obj 219 143 / 256;
#X obj 219 185 hsv2rgb;
#X msg 219 166 \$1 1 1;
#X obj 219 97 t b b;
#X obj 76 286 sphere 0.2;
#X msg 249 233 0;
#X msg 216 233 0.2;
#X obj 216 254 f;
#X obj 298 47 t b;
#X obj 298 24 inlet reset;
#X obj 139 183 t f b;
#X obj 102 85 unpack;
#X obj 102 108 * 8;
#X obj 102 131 - 4;
#X obj 145 106 * 8;
#X obj 145 129 - 4;
#X connect 0 0 4 0;
#X connect 1 0 11 0;
#X connect 2 0 18 0;
#X connect 3 0 2 0;
#X connect 4 0 1 0;
#X connect 5 0 10 0;
#X connect 6 0 7 0;
#X connect 7 0 9 0;
#X connect 8 0 4 1;
#X connect 9 0 8 0;
#X connect 10 0 6 0;
#X connect 10 1 12 0;
#X connect 12 0 14 0;
#X connect 13 0 14 0;
#X connect 14 0 11 1;
#X connect 15 0 12 0;
#X connect 16 0 15 0;
#X connect 17 0 1 2;
#X connect 17 1 13 0;
#X connect 18 0 19 0;
#X connect 18 1 21 0;
#X connect 19 0 20 0;
#X connect 20 0 1 1;
#X connect 21 0 22 0;
#X connect 22 0 17 0;
#X restore 124 193 pd showblob;
#N canvas 0 0 451 339 showblob 0;
#X obj 76 184 gemhead;
#X obj 76 266 translateXYZ;
#X obj 102 60 pack;
#X obj 102 34 inlet x|y;
#X obj 76 225 color 1 1 1;
#X obj 219 75 loadbang;
#X obj 219 122 random 256;
#X obj 219 143 / 256;
#X obj 219 185 hsv2rgb;
#X msg 219 166 \$1 1 1;
#X obj 219 97 t b b;
#X obj 76 286 sphere 0.2;
#X msg 249 233 0;
#X msg 216 233 0.2;
#X obj 216 254 f;
#X obj 298 47 t b;
#X obj 298 24 inlet reset;
#X obj 139 183 t f b;
#X obj 102 85 unpack;
#X obj 102 108 * 8;
#X obj 102 131 - 4;
#X obj 145 106 * 8;
#X obj 145 129 - 4;
#X connect 0 0 4 0;
#X connect 1 0 11 0;
#X connect 2 0 18 0;
#X connect 3 0 2 0;
#X connect 4 0 1 0;
#X connect 5 0 10 0;
#X connect 6 0 7 0;
#X connect 7 0 9 0;
#X connect 8 0 4 1;
#X connect 9 0 8 0;
#X connect 10 0 6 0;
#X connect 10 1 12 0;
#X connect 12 0 14 0;
#X connect 13 0 14 0;
#X connect 14 0 11 1;
#X connect 15 0 12 0;
#X connect 16 0 15 0;
#X connect 17 0 1 2;
#X connect 17 1 13 0;
#X connect 18 0 19 0;
#X connect 18 1 21 0;
#X connect 19 0 20 0;
#X connect 20 0 1 1;
#X connect 21 0 22 0;
#X connect 22 0 17 0;
#X restore 143 212 pd showblob;
#N canvas 0 0 451 339 showblob 0;
#X obj 76 184 gemhead;
#X obj 76 266 translateXYZ;
#X obj 102 58 pack;
#X obj 102 34 inlet x|y;
#X obj 76 225 color 1 1 1;
#X obj 219 75 loadbang;
#X obj 219 122 random 256;
#X obj 219 143 / 256;
#X obj 219 185 hsv2rgb;
#X msg 219 166 \$1 1 1;
#X obj 219 97 t b b;
#X obj 76 286 sphere 0.2;
#X msg 249 233 0;
#X msg 216 233 0.2;
#X obj 216 254 f;
#X obj 298 47 t b;
#X obj 298 24 inlet reset;
#X obj 139 183 t f b;
#X obj 102 85 unpack;
#X obj 102 108 * 8;
#X obj 102 131 - 4;
#X obj 145 106 * 8;
#X obj 145 129 - 4;
#X connect 0 0 4 0;
#X connect 1 0 11 0;
#X connect 2 0 18 0;
#X connect 3 0 2 0;
#X connect 4 0 1 0;
#X connect 5 0 10 0;
#X connect 6 0 7 0;
#X connect 7 0 9 0;
#X connect 8 0 4 1;
#X connect 9 0 8 0;
#X connect 10 0 6 0;
#X connect 10 1 12 0;
#X connect 12 0 14 0;
#X connect 13 0 14 0;
#X connect 14 0 11 1;
#X connect 15 0 12 0;
#X connect 16 0 15 0;
#X connect 17 0 1 2;
#X connect 17 1 13 0;
#X connect 18 0 19 0;
#X connect 18 1 21 0;
#X connect 19 0 20 0;
#X connect 20 0 1 1;
#X connect 21 0 22 0;
#X connect 22 0 17 0;
#X restore 162 231 pd showblob;
#X obj 67 86 inlet blobinformation;
#X connect 0 0 1 0;
#X connect 0 1 2 0;
#X connect 0 2 3 0;
#X connect 0 3 4 0;
#X connect 0 4 5 0;
#X connect 0 5 6 0;
#X connect 7 0 0 0;
#X restore 541 301 pd showblobs;
#X text 17 78 [pix_blobtracker] is able to detect multiple blobs within
an image and tries to keep track of which blob is which to keep indices
consistent while the blobs are moving.;
#X text 16 127 [pix_blobtracker] is an abstraction based on [pix_multiblob]
for blob-detection and some mtx-objects from "iemmatrix" (which you
need to have installed on your system!) to do the actual tracking.
;
#X text 64 237 int: max number of blobs to detect;
#X text 21 187 like [pix_multiblob] this object only takes the luminance
into account for blob-tracking;
#X text 20 408 see also:;
#X obj 104 405 pix_multiblob;
#X text 24 296 Inlet 1: threshold <float>: minimum luminance of a pixel
to be considered part of a blob. (default=0.04);
#X text 24 325 Inlet 1: blobSize <float>: minimum relative size of
a blob. (default=0.1);
#X connect 10 0 11 0;
#X connect 11 0 10 0;
#X connect 14 0 18 0;
#X connect 17 0 33 0;
#X connect 18 0 32 0;
#X connect 18 2 19 0;
#X connect 19 0 18 1;
#X connect 20 0 21 0;
#X connect 21 0 18 0;
#X connect 27 0 28 0;
#X connect 28 0 34 0;
#X connect 32 0 17 0;
#X connect 32 1 38 0;
#X connect 34 0 32 0;
#X connect 35 0 36 0;
#X connect 36 0 37 0;
#X connect 37 0 32 0;
