From bdae26678d39c83280ed5e353986705da6f423c5 Mon Sep 17 00:00:00 2001 From: Travis CI Date: Thu, 19 Mar 2015 23:06:26 +0000 Subject: Gem 4990e2aec04f67a68fbd2878f4d99bb8042f68fa osx/x86_64 built 'master:4990e2aec04f67a68fbd2878f4d99bb8042f68fa' for osx/x86_64 --- Gem/examples/04.video/06.frame_diff_tracking.pd | 184 ++++++++++++++++++++++++ 1 file changed, 184 insertions(+) create mode 100644 Gem/examples/04.video/06.frame_diff_tracking.pd (limited to 'Gem/examples/04.video/06.frame_diff_tracking.pd') diff --git a/Gem/examples/04.video/06.frame_diff_tracking.pd b/Gem/examples/04.video/06.frame_diff_tracking.pd new file mode 100644 index 0000000..3ade8da --- /dev/null +++ b/Gem/examples/04.video/06.frame_diff_tracking.pd @@ -0,0 +1,184 @@ +#N canvas 42 41 639 499 10; +#X obj 140 80 gemhead; +#X obj 140 271 pix_diff; +#X obj 23 397 pix_texture; +#N canvas 340 107 682 322 gemwin 0; +#X obj 102 122 tgl 15 0 \$0-gemstart \$0-gemstart empty 17 7 0 10 -262144 +-1 -1 0 1; +#X obj 102 161 r \$0-gemstart; +#X obj 102 182 select 1 0; +#X msg 102 214 create \, 1; +#X msg 177 215 destroy; +#X obj 102 239 t a; +#X obj 318 54 inlet; +#X obj 318 255 gemwin; +#X obj 318 100 t a a; +#X obj 318 287 outlet; +#X obj 350 128 route create destroy; +#X obj 350 150 t b; +#X msg 350 172 1; +#X obj 390 150 t b; +#X msg 390 172 0; +#X obj 350 195 t f; +#X msg 350 219 set \$1; +#X text 118 122 rendering; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 2 1 4 0; +#X connect 3 0 5 0; +#X connect 4 0 5 0; +#X connect 5 0 8 0; +#X connect 6 0 8 0; +#X connect 7 0 9 0; +#X connect 8 0 7 0; +#X connect 8 1 10 0; +#X connect 10 0 11 0; +#X connect 10 1 13 0; +#X connect 11 0 12 0; +#X connect 12 0 15 0; +#X connect 13 0 14 0; +#X connect 14 0 15 0; +#X connect 15 0 16 0; +#X connect 16 0 0 0; +#X coords 0 -1 1 1 85 40 1 100 100; +#X restore 534 15 pd gemwin; +#X obj 23 442 rectangle 4 3; +#X obj 140 198 pix_separator; +#X obj 229 198 pix_separator; +#X obj 140 134 pix_grey; +#X obj 140 109 pix_video; +#X obj 140 346 pix_blob; +#N canvas 10 40 620 460 cursor 0; +#X obj 17 14 inlet; +#X obj 89 18 inlet; +#X obj 101 346 translateXYZ; +#X text 63 148 0.64; +#X text 37 151 1; +#X obj 23 63 t f f; +#X obj 37 176 -; +#X text 62 177 X-Range; +#X text 196 176 Y-Range; +#X obj 63 240 expr (8/$f1); +#X obj 33 241 -; +#X obj 51 267 *; +#X obj 29 95 max 0; +#X obj 71 95 min 10; +#X obj 59 132 f; +#X obj 33 131 f; +#X obj 52 293 - 4; +#X text 193 146 0.64; +#X text 167 149 1; +#X obj 153 61 t f f; +#X obj 167 174 -; +#X obj 193 238 expr (8/$f1); +#X obj 163 239 -; +#X obj 181 265 *; +#X obj 159 93 max 0; +#X obj 201 93 min 10; +#X obj 189 130 f; +#X obj 163 129 f; +#X text 188 171 comment; +#X obj 154 298 expr (-1*$f1)+4; +#X obj 293 27 inlet; +#X obj 94 320 gemhead 15; +#X obj 157 509 circle 0.1; +#X obj 17 423 separator; +#X obj 87 423 separator; +#X obj 17 484 rectangle 0.2 0.01; +#X obj 157 423 separator; +#X msg 185 478 draw line; +#X obj 185 457 loadbang; +#X obj 77 386 colorRGB 1 0 0 1; +#X obj 17 462 rectangle 0.01 0.2; +#X msg 256 478 width \$1; +#X obj 296 342 int; +#X obj 275 413 + 1; +#X obj 283 63 * 100; +#X connect 0 0 5 0; +#X connect 1 0 19 0; +#X connect 2 0 39 0; +#X connect 5 0 10 0; +#X connect 5 0 12 0; +#X connect 5 1 13 0; +#X connect 6 0 9 0; +#X connect 9 0 11 1; +#X connect 10 0 11 0; +#X connect 11 0 16 0; +#X connect 12 0 15 0; +#X connect 13 0 14 0; +#X connect 14 0 6 1; +#X connect 14 0 10 1; +#X connect 14 0 13 1; +#X connect 15 0 6 0; +#X connect 15 0 12 1; +#X connect 16 0 2 1; +#X connect 19 0 22 0; +#X connect 19 0 24 0; +#X connect 19 1 25 0; +#X connect 20 0 21 0; +#X connect 21 0 23 1; +#X connect 22 0 23 0; +#X connect 23 0 29 0; +#X connect 24 0 27 0; +#X connect 25 0 26 0; +#X connect 26 0 20 1; +#X connect 26 0 22 1; +#X connect 26 0 25 1; +#X connect 27 0 20 0; +#X connect 27 0 24 1; +#X connect 29 0 2 2; +#X connect 30 0 44 0; +#X connect 31 0 2 0; +#X connect 33 0 40 0; +#X connect 34 0 35 0; +#X connect 36 0 32 0; +#X connect 37 0 32 0; +#X connect 38 0 37 0; +#X connect 39 0 33 0; +#X connect 39 0 34 0; +#X connect 39 0 36 0; +#X connect 41 0 32 0; +#X connect 42 0 43 0; +#X connect 43 0 41 0; +#X connect 44 0 32 1; +#X connect 44 0 42 0; +#X restore 154 388 pd cursor; +#X obj 23 420 translateXYZ 0 0 -0.1; +#X obj 140 316 pix_threshold; +#X obj 180 294 hsl 128 15 0 1 0 1 empty empty threshold 8 8 0 10 -262130 +-1 -1 900 0; +#X obj 229 230 pix_delay 1; +#X text 28 12 This is an example of simple video tracking using the +difference between the current frame and the previous frame \, then +using blob detection.; +#X text 356 108 <-- get the video camera; +#X text 356 133 <-- convert to grey for easier tracking; +#X text 356 196 <-- make two copies of the frame; +#X obj 140 165 trigger anything anything; +#X text 356 229 <-- delay one copy by one frame; +#X text 356 305 <-- set the threshold to filter out; +#X text 381 281 difference between the two frames; +#X text 356 270 <-- find the absolute value of the; +#X text 381 316 small changes; +#X text 356 344 <-- track the (x \, y) coordinates and size; +#X text 380 357 of the "blob" of the difference; +#X text 356 384 <-- render a cursor using the (x \, y) and size; +#X text 6 460 render the video of the; +#X text 6 472 frame difference; +#X connect 0 0 8 0; +#X connect 1 0 12 0; +#X connect 2 0 11 0; +#X connect 5 0 1 0; +#X connect 6 0 14 0; +#X connect 7 0 19 0; +#X connect 8 0 7 0; +#X connect 9 1 10 0; +#X connect 9 2 10 1; +#X connect 9 3 10 2; +#X connect 11 0 4 0; +#X connect 12 0 9 0; +#X connect 12 0 2 0; +#X connect 13 0 12 1; +#X connect 14 0 1 1; +#X connect 19 0 6 0; +#X connect 19 1 5 0; -- cgit v1.2.1