#N canvas 45 49 833 785 10; #X obj -11 57 cnv 15 621 250 empty empty empty 20 12 0 14 -260097 -66577 0; #X obj 229 97 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 229 124 metro 40; #X msg 310 146 close; #X obj 249 222 pdp_v4l; #X msg 306 119 open /dev/video0; #X obj 423 95 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X obj 423 122 metro 40; #X msg 500 145 close; #X msg 493 121 open /dev/video0; #X obj 424 221 pdp_v4l2; #X msg 501 192 format \$1; #X obj 502 170 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -262144 -1 -1 0; #X obj 19 272 pdp_qt; #X obj 52 208 metro 40; #X msg 52 180 bang; #X msg 93 180 stop; #X obj 19 111 openpanel; #X msg 19 136 open \$1; #X msg 19 83 bang; #X msg 53 235 loop \$1; #X obj 133 235 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X obj 133 153 loadbang; #X text 62 86 playing a video file; #X text 259 95 Camera input; #X obj 79 273 hsl 128 15 0 500 0 0 empty empty empty -2 -8 0 10 -262144 -1 -1 0 1; #X obj -10 311 cnv 15 621 400 empty empty empty 20 12 0 14 -258113 -66577 0; #X obj 17 718 pdp_xv; #X obj 165 483 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X msg 80 481 nightmode \$1; #X floatatom 153 389 5 0 0 0 - - -; #X floatatom 154 428 5 0 0 0 - - -; #X msg 67 426 threshold \$1; #X text -10 0 with a great help from Mateu Batle & Alberto de Rodrigo from the iBit foundation.; #X floatatom 66 663 5 0 0 0 - - -; #X obj 120 603 unpack f f; #X floatatom 206 603 5 0 0 0 - - -; #X floatatom 208 623 5 0 0 0 - - -; #X text 248 602 largest amplitude of movement; #X msg 70 455 minblocks \$1; #X floatatom 157 456 5 0 0 0 - - -; #X text 184 484 set nightmode; #X text -11 -36 the main purpose of this object is to calculate the average direction and the intensity of the movement in a video stream. ; #X text 201 450 minimum nuber of blocks to detect the movement; #X msg 32 156 bang; #X text 108 684 marked with a white arrow on the stream; #X obj 21 350 pdp_scale 320 240; #X text 137 345 this object can work on small frames unless you have a very powerful machine; #X msg 435 150 bang; #X text 108 660 average angle of the blocks movement; #X text 248 623 angle of the block with the maximum movement; #X text 246 635 ( in degrees [-180 \, 180]); #X text 107 672 ( in degrees [-180 \, 180]); #X obj 20 320 pdp_rotate; #X floatatom 89 322 5 0 0 0 - - -; #X text 127 314 you can rotate the object to check that the main direction of movement is detected; #X text -10 24 comments to ydegoyon@gmail.com; #X text 198 463 ( default 10 ); #X msg 59 387 winsize \$1 \$2; #X obj 421 253 pdp_xv; #X text 195 424 threshold value for the detection of movement ( default 100 ); #X text -11 -52 pdp_opencv_of_lk : Lukas Kanade optical flow algorithm. ; #X text 197 384 set window size ( width height ) [ default : 9x9 ] ; #X text 199 398 window width and height must be one of (1 \, 3 \, 5 \, 7 \, 9 \, 11 \, 13 \, 15); #X obj 18 535 pdp_opencv_of_lk; #X connect 1 0 2 0; #X connect 2 0 4 0; #X connect 3 0 4 0; #X connect 4 0 53 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 53 0; #X connect 10 0 59 0; #X connect 11 0 10 0; #X connect 12 0 11 0; #X connect 13 0 53 0; #X connect 14 0 13 0; #X connect 15 0 14 0; #X connect 16 0 14 0; #X connect 17 0 18 0; #X connect 18 0 13 0; #X connect 19 0 17 0; #X connect 20 0 13 0; #X connect 21 0 20 0; #X connect 22 0 21 0; #X connect 22 0 15 0; #X connect 25 0 13 1; #X connect 28 0 29 0; #X connect 29 0 64 0; #X connect 30 0 58 0; #X connect 31 0 32 0; #X connect 32 0 64 0; #X connect 35 0 36 0; #X connect 35 1 37 0; #X connect 39 0 64 0; #X connect 40 0 39 0; #X connect 44 0 13 0; #X connect 46 0 64 0; #X connect 48 0 10 0; #X connect 53 0 46 0; #X connect 54 0 53 1; #X connect 58 0 64 0; #X connect 64 0 27 0; #X connect 64 1 34 0; #X connect 64 2 35 0;