#N canvas 918 248 963 626 10; #X obj 20 43 cnv 15 430 380 empty empty empty 20 12 0 14 -228856 -66577 0; #X obj 20 -3 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577 0; #X obj 19 -99 cnv 15 430 90 empty empty empty 20 12 0 14 -228856 -66577 0; #X text 24 -135 Class: pix_opencv; #X obj 455 -176 cnv 15 500 600 empty empty empty 20 12 0 14 -228992 -66577 0; #X obj 488 261 pix_texture; #X obj 665 230 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 675 276 pd gemwin; #X msg 675 256 destroy; #X text 673 236 Create window and render; #X obj 485 -34 cnv 15 400 260 empty empty empty 20 12 0 14 -4034 -66577 0; #X obj 488 282 rectangle 4 3; #X text 40 15 ; #X text 29 1 Arguments: (optional); #X text 62 343 see also :; #X obj 104 367 pix_opencv_bgstats; #X obj 104 387 pix_threshold; #X msg 511 18 algo \$1; #N canvas 320 153 576 492 parameters 1; #X obj 21 21 cnv 15 400 80 empty empty readProperties 20 12 0 14 -233017 -66577 0; #X obj 29 47 hradio 15 1 0 4 \$0-propreadId \$0-propreadId empty 0 -8 0 10 -262144 -1 -1 0; #X obj 30 70 cnv 15 260 20 empty \$0-propreadName 10 9 0 14 -203904 -66577 0; #N canvas 1296 443 597 537 PropertyLogic 0; #N canvas 570 124 774 460 id2property 0; #X obj 353 106 r \$0-info; #X obj 405 176 t b f; #X obj 353 174 list; #X obj 353 219 list prepend; #X msg 353 196 \$1; #X obj 353 239 t l l; #X obj 95 197 list prepend; #X obj 95 69 inlet readID; #X obj 225 70 inlet writeID; #X obj 180 378 outlet readName; #X obj 310 356 outlet writeName; #X obj 95 176 t b f; #X obj 95 219 list split; #X obj 180 316 symbol; #X msg 180 291 symbol \$1; #X obj 225 197 list prepend; #X obj 225 176 t b f; #X obj 225 219 list split; #X obj 310 316 symbol; #X msg 310 291 symbol \$1; #X obj 95 91 route float; #X obj 225 92 route float; #X msg 432 333 number \$1; #X obj 432 353 s \$0-propreadId; #X obj 420 376 s \$0-propwriteId; #X obj 460 275 loadbang; #X obj 123 258 route bang; #X obj 253 258 route bang; #X obj 353 152 route paramList params; #X msg 460 296 1; #X connect 0 0 28 0; #X connect 1 0 3 1; #X connect 1 1 22 0; #X connect 2 0 4 0; #X connect 3 0 5 0; #X connect 4 0 3 0; #X connect 5 0 6 1; #X connect 5 0 15 1; #X connect 5 1 3 1; #X connect 6 0 12 0; #X connect 7 0 20 0; #X connect 8 0 21 0; #X connect 11 0 6 0; #X connect 11 1 12 1; #X connect 12 1 26 0; #X connect 13 0 9 0; #X connect 14 0 13 0; #X connect 15 0 17 0; #X connect 16 0 15 0; #X connect 16 1 17 1; #X connect 17 1 27 0; #X connect 18 0 10 0; #X connect 19 0 18 0; #X connect 20 0 11 0; #X connect 21 0 16 0; #X connect 22 0 23 0; #X connect 22 0 24 0; #X connect 25 0 29 0; #X connect 26 1 14 0; #X connect 27 1 19 0; #X connect 28 0 2 0; #X connect 28 1 1 0; #X connect 29 0 22 0; #X restore 188 192 pd id2property; #X obj 350 429 list trim; #X obj 350 451 t b a; #N canvas 645 504 450 300 getProp 0; #X obj 44 177 s \$0-propreadName; #X msg 44 156 label \$1; #X msg 165 156 get \$1; #X obj 44 81 inlet; #X obj 165 178 outlet; #X obj 290 57 r \$0-info; #N canvas 3 50 450 300 sroute 0; #X obj 73 12 inlet; #X obj 312 9 inlet; #X obj 73 113 outlet; #X obj 73 34 list split 1; #X obj 73 56 select s; #X obj 73 78 list prepend; #X connect 0 0 3 0; #X connect 1 0 4 1; #X connect 3 0 4 0; #X connect 3 1 5 1; #X connect 4 0 5 0; #X connect 5 0 2 0; #X restore 290 113 pd sroute; #X obj 44 123 t s s s; #X msg 290 226 label \$1; #X obj 290 247 s \$0-propreadValue; #X obj 290 135 route float; #X obj 290 157 makefilename %g; #X obj 106 29 loadbang; #X obj 106 51 t b b; #X msg 106 73 symbol ; #X msg 196 74 symbol --; #X obj 353 181 symbol; #X obj 290 79 route param; #X connect 1 0 0 0; #X connect 2 0 4 0; #X connect 3 0 7 0; #X connect 5 0 17 0; #X connect 6 0 10 0; #X connect 7 0 1 0; #X connect 7 1 2 0; #X connect 7 2 6 1; #X connect 8 0 9 0; #X connect 10 0 11 0; #X connect 10 1 16 0; #X connect 11 0 8 0; #X connect 12 0 13 0; #X connect 13 0 14 0; #X connect 13 1 15 0; #X connect 14 0 1 0; #X connect 15 0 8 0; #X connect 16 0 8 0; #X connect 17 0 6 0; #X restore 319 315 pd getProp; #X obj 172 158 r \$0-propreadId; #N canvas 568 213 450 467 setProp 0; #X msg 44 156 label \$1; #X msg 165 156 get \$1; #X obj 44 31 inlet; #X obj 218 426 outlet; #X obj 290 57 r \$0-info; #N canvas 4 50 450 300 sroute 0; #X obj 73 12 inlet; #X obj 312 9 inlet; #X obj 73 113 outlet; #X obj 73 34 list split 1; #X obj 73 56 select s; #X obj 73 78 list prepend; #X connect 0 0 3 0; #X connect 1 0 4 1; #X connect 3 0 4 0; #X connect 3 1 5 1; #X connect 4 0 5 0; #X connect 5 0 2 0; #X restore 290 113 pd sroute; #X obj 290 135 route float; #X obj 44 177 s \$0-propwriteName; #X obj 290 247 s \$0-propwriteValue; #X msg 290 226 set \$1; #X obj 50 276 r \$0-propwriteValue; #X obj 50 298 route float; #X obj 50 320 pack 0 s; #X msg 50 342 set \$2 \$1; #X obj 44 73 t s s s s; #X obj 127 27 loadbang; #X obj 127 49 t b b; #X msg 127 71 symbol ; #X obj 290 79 route param; #X connect 0 0 7 0; #X connect 1 0 3 0; #X connect 2 0 14 0; #X connect 4 0 18 0; #X connect 5 0 6 0; #X connect 6 0 9 0; #X connect 9 0 8 0; #X connect 10 0 11 0; #X connect 11 0 12 0; #X connect 12 0 13 0; #X connect 13 0 3 0; #X connect 14 0 0 0; #X connect 14 1 1 0; #X connect 14 2 5 1; #X connect 14 3 12 1; #X connect 15 0 16 0; #X connect 16 0 17 0; #X connect 17 0 0 0; #X connect 18 0 5 0; #X restore 199 315 pd setProp; #X obj 199 426 list trim; #X obj 199 448 t b a; #X obj 199 339 route get set; #X obj 199 477 s \$0-propset; #X obj 350 480 s \$0-propget; #X obj 54 38 inlet; #X obj 54 66 s \$0-ctl; #X obj 282 158 r \$0-propwriteId; #X obj 199 407 list prepend set; #X obj 350 407 list prepend set; #X obj 349 361 list prepend setParam; #X obj 199 360 list prepend getParam; #X connect 0 0 3 0; #X connect 0 1 5 0; #X connect 1 0 2 0; #X connect 2 0 10 0; #X connect 2 1 10 0; #X connect 3 0 8 0; #X connect 4 0 0 0; #X connect 5 0 8 0; #X connect 6 0 7 0; #X connect 7 0 9 0; #X connect 7 1 9 0; #X connect 8 0 17 0; #X connect 8 1 16 0; #X connect 11 0 12 0; #X connect 13 0 0 1; #X connect 14 0 6 0; #X connect 15 0 1 0; #X connect 16 0 14 0; #X connect 17 0 15 0; #X restore 31 446 pd PropertyLogic; #X obj 300 70 cnv 15 100 20 empty \$0-propreadValue -- 10 9 0 14 -261234 -66577 0; #X obj 21 111 cnv 15 400 80 empty empty writeProperties 20 12 0 14 -233017 -66577 0; #X obj 29 137 hradio 15 1 0 4 \$0-propwriteId \$0-propwriteId empty 0 -8 0 10 -262144 -1 -1 0; #X obj 30 160 cnv 15 260 20 empty \$0-propwriteName 10 9 0 14 -203904 -66577 0; #X obj 301 160 nbx 5 20 -1e+37 1e+37 0 0 \$0-propwriteValue \$0-propwriteValue empty 0 -8 0 14 -204786 -1 -1 0 256; #X msg 73 412 setParam noiseSigma 137; #X obj 56 314 r \$0-propget; #X obj 73 392 r \$0-propset; #X msg 77 360 get Hue Saturation; #X text 198 360 you can query several properties at once; #X text 62 257 NOTE that propertynames are always single symbols that might contain spaces (and other weird characters); #X text 98 203 INIT: query names of all available properties; #X msg 31 203 enumParams; #X msg 56 335 getParam noiseSigma; #X text 59 224 this will return a list of parameters through the "info" outlet of [pix_opencv_backgroundsubtractor].; #X text 135 315 query a (readable) property via a message "getParam ", f 65; #X text 150 392 set a (writable) property via a message "setParam ", f 68; #X msg 45 292 paramHelp; #X text 108 291 print parameters help in console; #X connect 9 0 3 0; #X connect 10 0 17 0; #X connect 11 0 9 0; #X connect 12 0 3 0; #X connect 16 0 3 0; #X connect 17 0 3 0; #X connect 21 0 3 0; #X restore 745 76 pd parameters; #X obj 521 109 r \$0-ctl; #X obj 671 201 s \$0-info; #N canvas 782 389 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 0 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 488 -128 pd src; #X obj 488 -165 vradio 15 1 0 2 empty empty empty 0 -8 0 10 -262144 -1 -1 0; #N canvas 1 110 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 0 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 488 -69 pd gray/rgba; #X obj 557 -105 vradio 15 1 0 2 empty empty empty 0 -8 0 10 -262144 -1 -1 0; #X text 575 -105 gray; #X text 575 -91 RGBA; #X text 504 -166 camera; #X text 504 -151 video file; #X msg 504 -25 algo; #X obj 671 161 t a a; #X obj 698 181 print info; #X obj 511 0 hradio 15 1 0 3 empty empty empty 0 -8 0 10 -262144 -1 -1 1; #X text 561 18 choose algo by id; #X msg 518 43 algo BackgroundSubtractor.MOG; #X text 700 43 choose algo by name; #X obj 488 136 pix_opencv_backgroundsubtractor; #X msg 521 85 cpuMode \$1; #X obj 521 65 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X text 25 -156 Synopsis: [pix_opencv_backgroundsubtractor]; #X text 26 -90 Description: pix_opencv_backgroundsubtractor extracts foreground using different algorithms; #X text 541 -24 report available algorithm on the right outlet; #X text 32 54 input : message : algo : without arg \, reports the available algorithms; #X text 32 84 input : message : algo choose an algo by id; #X text 32 98 input : message : algo choose an algo by name ; #X text 32 118 input : message : cpuMode force CPU mode; #X text 27 -56 It uses OpenCL when it's available.; #X text 32 138 input : message : enumParams : query parameters name and value of available; #X text 40 258 for more about the GMG algorithm please refer to : A. Godbehere \, A. Matsukawa \, K. Goldberg \, "Visual Tracking of Human Visitors under Variable-Lighting Conditions for a Responsiven Audio Art Installation" \, American Control Conference \, 2012 \,; #X text 32 168 input : message : paramHelp : print parameters help in the Pd's console (not filled for all parameters); #X text 32 198 input : message : getParam : get parameter value; #X text 32 213 input : message : setParam : set paramter value; #X connect 5 0 11 0; #X connect 7 0 8 0; #X connect 8 0 7 0; #X connect 17 0 36 0; #X connect 19 0 36 0; #X connect 21 0 23 0; #X connect 22 0 21 0; #X connect 23 0 36 0; #X connect 24 0 23 1; #X connect 29 0 36 0; #X connect 30 0 20 0; #X connect 30 1 31 0; #X connect 32 0 17 0; #X connect 34 0 36 0; #X connect 36 0 5 0; #X connect 36 1 30 0; #X connect 37 0 36 0; #X connect 38 0 37 0;