#N canvas 1132 438 541 486 10; #X declare -path ../.. -lib pix_opencv; #X obj 74 -87 declare -path ../.. -lib pix_opencv; #X obj 0 155 pix_opencv_backgroundsubtractor; #N canvas 780 394 504 512 src 0; #X obj 302 -79 gemhead; #X obj 314 -52 bng 25 250 50 0 load empty empty 0 -6 0 8 -262144 -1 -1; #X obj 359 34 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 -1 -1; #X floatatom 353 18 5 0 10000 1 frame# - -, f 5; #X obj 314 -23 openpanel; #X obj 302 36 pix_film; #N canvas 1 250 299 199 vswitch 0; #X obj 36 128 outlet; #X obj 36 26 inlet; #X obj 130 26 inlet; #X obj 175 27 inlet; #X obj 81 61 == 0; #X obj 36 83 spigot 1; #X obj 130 84 spigot 0; #X connect 1 0 5 0; #X connect 2 0 6 0; #X connect 3 0 4 0; #X connect 3 0 6 1; #X connect 4 0 5 1; #X connect 5 0 0 0; #X connect 6 0 0 0; #X restore 62 118 pd vswitch; #X obj 163 -188 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X obj 62 45 pix_video; #X obj 62 -79 gemhead; #X text 180 -190 switch source (camera / film); #X msg 314 -3 open \$1 \, auto 1; #X obj 173 -253 loadbang; #X msg 173 -230 0; #X obj 169 -123 == 0; #X obj 130 -284 inlet; #X text 168 -282 src selection : 0 = camera \, 1 = file; #X obj 345 -113 sel 1; #X obj 62 140 outlet; #X obj 169 -144 t a a a a; #X connect 0 0 5 0; #X connect 1 0 4 0; #X connect 2 0 3 0; #X connect 3 0 5 1; #X connect 4 0 11 0; #X connect 5 0 6 1; #X connect 5 2 2 0; #X connect 6 0 18 0; #X connect 7 0 19 0; #X connect 8 0 6 0; #X connect 9 0 8 0; #X connect 11 0 5 0; #X connect 12 0 13 0; #X connect 13 0 7 0; #X connect 14 0 9 0; #X connect 15 0 7 0; #X connect 17 0 1 0; #X connect 19 0 14 0; #X connect 19 1 0 0; #X connect 19 2 6 2; #X connect 19 3 17 0; #X restore 0 26 pd src; #X obj 0 -11 vradio 15 1 0 2 empty empty empty 0 -8 0 10 -262144 -1 -1 1; #N canvas 1 120 450 300 gray/rgba 0; #X obj 62 36 pix_grey; #X obj 121 36 pix_rgba; #X obj 62 11 spigot 1; #X obj 107 -34 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X text 125 -37 switch color mode ( grey / rgba ); #X obj 107 -11 == 0; #X obj 121 11 spigot 0; #X obj 62 98 t a; #X obj 121 61 alpha; #X obj 62 -92 inlet; #X obj 62 120 outlet; #X obj 107 -60 inlet; #X connect 0 0 7 0; #X connect 1 0 8 0; #X connect 2 0 0 0; #X connect 3 0 5 0; #X connect 3 0 6 1; #X connect 5 0 2 1; #X connect 6 0 1 0; #X connect 7 0 10 0; #X connect 8 0 7 0; #X connect 9 0 2 0; #X connect 9 0 6 0; #X connect 11 0 3 0; #X restore 0 85 pd gray/rgba; #X obj 69 49 vradio 15 1 0 2 empty empty empty 0 -8 0 10 -262144 -1 -1 1; #X text 87 49 gray; #X text 87 63 RGBA; #X text 16 -12 camera; #X text 16 3 video file; #X obj 0 207 pix_opencv_contours; #X obj 0 259 pix_opencv_trackKnn; #X obj 0 281 pix_texture; #X obj 0 303 rectangle 5.3333 4; #X obj 238 -47 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577 0; #N canvas 3 81 454 304 gemwin 0; #X obj 67 89 outlet; #X obj 67 10 inlet; #X obj 65 41 route create; #X msg 67 70 set destroy; #X msg 182 68 set create; #N canvas 87 154 247 179 Gem.init 0; #X obj 118 46 loadbang; #X msg 118 81 reset; #X obj 118 113 outlet; #X connect 0 0 1 0; #X connect 1 0 2 0; #X restore 289 80 pd Gem.init; #X obj 162 241 gemwin; #X msg 342 184 destroy; #X msg 283 161 frame 25; #X obj 164 126 t b b b; #X msg 161 189 dimen 640 560 \, create \, 1; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 2 0 9 0; #X connect 2 1 4 0; #X connect 2 1 7 0; #X connect 3 0 0 0; #X connect 4 0 0 0; #X connect 7 0 6 0; #X connect 8 0 6 0; #X connect 9 0 10 0; #X connect 9 2 8 0; #X connect 10 0 6 0; #X restore 248 -1 pd gemwin; #X msg 248 -21 destroy; #X text 246 -41 Create window and render; #N canvas 552 204 596 300 draw_contour_gemvertexbuffer 1; #X obj 175 173 loadbang; #X obj 135 65 translateXYZ -0.5 -0.5 0; #X obj 135 42 scaleXYZ 10.6666 -8 1; #X obj 135 -9 gemhead 1000; #X obj 135 17 alpha 0; #X msg 162 130 posX drawX \, posY drawY \, colorG drawZ \, colorA drawZ ; #X msg 175 193 draw line; #X obj 135 245 gemvertexbuffer; #X obj 186 97 inlet; #X obj 347 41 r point_number; #X msg 269 201 resize \$1; #X obj 310 92 f; #X obj 135 87 t a b b; #X obj 298 166 max 3; #X connect 0 0 6 0; #X connect 1 0 12 0; #X connect 2 0 1 0; #X connect 3 0 4 0; #X connect 4 0 2 0; #X connect 5 0 7 0; #X connect 6 0 7 0; #X connect 8 0 5 0; #X connect 9 0 11 1; #X connect 10 0 7 0; #X connect 11 0 13 0; #X connect 12 0 7 0; #X connect 12 1 5 0; #X connect 12 2 11 0; #X connect 13 0 10 0; #X restore 321 81 pd draw_contour_gemvertexbuffer; #X obj 321 60 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X text 337 61 draw with gemvertexbuffer; #N canvas 1 90 450 300 parameters 0; #X obj 45 25 loadbang; #X msg 45 47 contours 1 \, hierarchy_level 0 \, cvblobOutput 1 \, settab drawX drawY drawZ; #X obj 45 82 outlet; #X connect 0 0 1 0; #X connect 1 0 2 0; #X restore 29 175 pd parameters; #X obj 161 232 route count; #X obj 161 275 s point_number; #X msg 161 254 \$2; #X obj 321 102 table drawX 1000; #X obj 321 122 table drawY 1000; #X obj 321 142 table drawZ 1000; #N canvas 363 684 450 300 parameters 1; #X obj 45 200 outlet; #X obj 45 -10 inlet; #X obj 72 55 f; #X obj 96 56 + 1; #X obj 72 77 sel 50; #X obj 45 12 t a b; #X obj 72 35 spigot 1; #X obj 45 148 spigot; #X obj 72 99 t b b; #X msg 72 121 1, f 4; #X msg 151 127 0; #X msg 69 178 algo BackgroundSubtractor.GMG; #X connect 1 0 5 0; #X connect 2 0 3 0; #X connect 2 0 4 0; #X connect 3 0 2 1; #X connect 4 0 8 0; #X connect 5 0 7 0; #X connect 5 1 6 0; #X connect 6 0 2 0; #X connect 7 0 0 0; #X connect 8 0 10 0; #X connect 8 0 9 0; #X connect 8 1 11 0; #X connect 9 0 7 1; #X connect 10 0 6 1; #X connect 11 0 0 0; #X restore 0 124 pd parameters; #X obj 178 192 print; #X connect 1 0 10 0; #X connect 1 1 29 0; #X connect 2 0 4 0; #X connect 3 0 2 0; #X connect 4 0 28 0; #X connect 5 0 4 1; #X connect 10 0 11 0; #X connect 10 2 22 0; #X connect 11 0 12 0; #X connect 12 0 13 0; #X connect 15 0 16 0; #X connect 16 0 15 0; #X connect 19 0 18 0; #X connect 21 0 10 0; #X connect 22 0 24 0; #X connect 24 0 23 0; #X connect 28 0 1 0;