#N canvas 1 49 1424 780 10; #X obj -191 -148 cnv 15 621 250 empty empty empty 20 12 0 14 -260097 -66577 0; #X obj -175 -111 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj -175 -84 metro 40; #X msg -130 -28 close; #X obj -155 14 pdp_v4l; #X msg -137 -55 open /dev/video0; #X obj -30 -111 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj -30 -84 metro 40; #X msg 34 -65 close; #X msg 30 -89 open /dev/video0; #X obj -10 14 pdp_v4l2; #X msg 31 -13 format \$1; #X obj 32 -35 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -262144 -1 -1 0; #X text -145 -113 Camera input; #X text -188 -181 written by yves degoyon ( ydegoyon@gmail.com ); #X text 376 -143 input 1; #X obj 447 -146 cnv 15 250 250 empty empty empty 20 12 0 14 -260097 -66577 0; #X obj 480 -94 openpanel; #X msg 461 -123 bang; #X obj 460 -26 pdp_background; #X obj 460 51 pdp_imgloader; #X obj 460 -49 metro 40; #X msg 479 -70 load \$1 0 0; #X floatatom 555 -24 5 0 0 0 - - -; #X text 507 -124 loading a pattern image; #X text 455 -143 input 2 ( pattern ); #X obj 55 186 pdp_opencv_dft; #X obj 462 179 pdp_opencv_dft; #X obj -11 43 pdp_scale 320 240; #X msg 99 156 bang; #X msg 480 152 bang; #X obj 191 390 pdp_xv; #X obj 298 340 pdp_hue; #X floatatom 298 367 5 0 0 0 - - -; #X obj 460 81 pdp_xv; #X obj -11 74 pdp_xv; #X floatatom 325 254 5 0 0 0 - - -; #X obj 189 352 pdp_xor; #X text 425 435 <- average value of pixels; #X text 445 461 the input image is close to the pattern; #X obj 265 155 metro 1000; #X obj 265 131 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 222 251 loadbang; #X obj 300 301 pdp_binary ----------------; #X obj 123 301 pdp_binary --------------; #X obj 264 105 loadbang; #X text -187 -211 pdp_opencv_dft : discrete fourier transform; #X text -187 -197 this can be used for pattern matching; #X obj 460 21 pdp_scale 320 240; #X obj 460 -2 pdp_convert image/YCrCb/*; #X obj 328 460 route 1; #X msg 380 460 bang; #X floatatom 383 436 5 0 0 0 - - -; #X obj 301 460 <; #X obj 300 386 t f b; #X obj 347 411 f; #X text 445 448 when it's close to its minimum; #X obj 216 65 pdp_qt; #X obj 249 1 metro 40; #X msg 249 -27 bang; #X msg 290 -27 stop; #X obj 216 -96 openpanel; #X msg 216 -71 open \$1; #X msg 216 -124 bang; #X msg 250 28 loop \$1; #X obj 330 28 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X obj 330 -54 loadbang; #X text 259 -121 playing a video file; #X text 506 -112 ( try chini.jpg ); #X text 281 -108 ( try chini.mov ); #X obj 314 435 f 1000; #X msg 264 65 105; #X msg 292 65 bang; #X msg 525 -49 1000; #X obj 566 -51 s max; #X obj 378 411 r max; #X msg 284 252 60; #X obj 80 356 pdp_xv; #X text 369 254 Threshold the fft to eliminate noise; #X text 369 266 60 is a godd value to eliminate noise; #X text 369 277 and keep meaningful points; #X connect 1 0 2 0; #X connect 2 0 4 0; #X connect 3 0 4 0; #X connect 4 0 28 0; #X connect 5 0 4 0; #X connect 6 0 7 0; #X connect 7 0 10 0; #X connect 8 0 10 0; #X connect 9 0 10 0; #X connect 10 0 28 0; #X connect 11 0 10 0; #X connect 12 0 11 0; #X connect 17 0 22 0; #X connect 18 0 17 0; #X connect 18 0 21 0; #X connect 19 0 49 0; #X connect 20 0 27 0; #X connect 20 0 34 0; #X connect 21 0 19 0; #X connect 22 0 20 0; #X connect 22 0 73 0; #X connect 23 0 19 3; #X connect 26 0 44 0; #X connect 27 0 43 0; #X connect 28 0 35 0; #X connect 28 0 26 0; #X connect 29 0 26 0; #X connect 30 0 27 0; #X connect 32 0 33 0; #X connect 33 0 54 0; #X connect 36 0 43 6; #X connect 36 0 44 6; #X connect 37 0 31 0; #X connect 37 0 32 0; #X connect 40 0 26 0; #X connect 40 0 27 0; #X connect 41 0 40 0; #X connect 42 0 76 0; #X connect 43 0 37 1; #X connect 44 0 37 0; #X connect 44 0 77 0; #X connect 45 0 41 0; #X connect 48 0 20 0; #X connect 49 0 48 0; #X connect 50 0 51 0; #X connect 51 0 55 0; #X connect 51 0 70 0; #X connect 53 0 50 0; #X connect 54 0 53 0; #X connect 54 0 55 1; #X connect 54 1 70 0; #X connect 55 0 70 1; #X connect 57 0 28 0; #X connect 58 0 57 0; #X connect 59 0 58 0; #X connect 60 0 58 0; #X connect 61 0 62 0; #X connect 62 0 57 0; #X connect 63 0 61 0; #X connect 64 0 57 0; #X connect 65 0 64 0; #X connect 66 0 65 0; #X connect 66 0 59 0; #X connect 70 0 52 0; #X connect 70 0 53 1; #X connect 71 0 57 1; #X connect 72 0 57 0; #X connect 73 0 74 0; #X connect 75 0 70 1; #X connect 76 0 36 0;