#N canvas 1 49 1424 780 10; #X obj 41 -82 cnv 15 621 223 empty empty empty 20 12 0 14 -260097 -66577 0; #X obj 91 75 pdp_1394L; #X msg 148 -25 open /dev/dv1394/0; #X obj 71 -50 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 73 -25 metro 40; #X msg 191 41 norm PAL; #X msg 161 4 close; #X obj 281 -44 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 281 -17 metro 40; #X msg 371 10 close; #X obj 301 81 pdp_v4l; #X msg 358 -22 open /dev/video0; #X obj 482 -42 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X obj 482 -15 metro 40; #X msg 563 4 close; #X msg 559 -20 open /dev/video0; #X obj 502 83 pdp_v4l2; #X obj 43 154 cnv 15 621 73 empty empty empty 20 12 0 14 -260801 -66577 0; #X obj 91 189 pdp_convert bitmap/rgb/*; #X text 255 183 COLORMODEL CONVERSION :: allways remember pdp_opencv only works in RGB colormodel; #X obj 44 328 cnv 15 621 360 empty empty empty 20 12 0 14 -258113 -66577 0; #X text 71 -79 FIRST OF ALL SETUP YOUR CAMERA; #X floatatom 184 556 5 0 0 0 - - -; #X floatatom 219 556 5 0 0 0 - - -; #X floatatom 256 556 5 0 0 0 - - -; #X floatatom 290 556 5 0 0 0 - - -; #X obj 184 529 unpack 0 0 0 0 0; #X obj 184 508 route 0 1 2 3 4; #X floatatom 210 432 5 0 0 0 - - -; #X floatatom 282 445 5 0 0 0 - - -; #X obj 92 460 pdp_opencv_contours_boundingrect; #X text 334 556 Xorigin Yorigin Width Height; #X floatatom 204 612 5 0 0 0 - - -; #X floatatom 239 612 5 0 0 0 - - -; #X floatatom 276 612 5 0 0 0 - - -; #X floatatom 310 612 5 0 0 0 - - -; #X obj 201 583 unpack 0 0 0 0 0; #X text 354 612 Xorigin Yorigin Width Height; #X obj 91 703 pdp_xv; #X obj 44 244 cnv 15 621 73 empty empty empty 20 12 0 14 -260801 -66577 0; #X floatatom 242 294 5 0 0 0 - - -; #X text 280 293 threshold (default 13) to use when comparing pixel colors; #X msg 568 59 format \$1; #X obj 569 37 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -262144 -1 -1 0; #X text 43 -307 pdp_opencv_contours_boundingrect :: Calculates up-right bounding rectangle of all contours of a binary image.; #X text 42 -234 This object considers a contour to be analyzed any group of white pixels in a black background \, for this reason you will find useful to use pdp_bgsubstract or pdp_threshold to obtain a correct input for pdp_opencv_contours_boundingrect.; #X text 43 -173 pdp_opencv_contours_boundingrect works detecting any white areas in the input image \, it's important to set max/min values of the areas you want to detect to filter non interesting noise or areas \, also sometimes you will need to use pdp_opencv_morphology to transform the contours of the shapes to be analyzed..; #X floatatom 279 482 5 0 0 0 - - -; #X text 318 483 Number of detected contours; #X floatatom 229 670 5 0 0 0 - - -; #X floatatom 264 670 5 0 0 0 - - -; #X floatatom 301 670 5 0 0 0 - - -; #X floatatom 335 670 5 0 0 0 - - -; #X obj 226 641 unpack 0 0 0 0 0; #X text 379 670 Xorigin Yorigin Width Height; #X text 287 513 For each contour detected; #X text 287 500 We have the contours sorted bottom to top and left to right; #X text 42 -273 It is useful as a motion tracker if you have well isolated silouets of the objects you want to track.; #X text 248 430 minimal area in pixels to be detected (default 10x10) ; #X text 319 446 maximal area in pixels to be detected (default 320x240) ; #X msg 138 335 mode \$1; #X obj 199 336 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -262144 -1 -1 0; #X text 268 337 retrieval mode ( see cvFindContours ); #X obj 234 361 hradio 15 1 0 5 empty empty empty 0 -8 0 10 -262144 -1 -1 0; #X text 316 361 retrieval method ( see cvFindContours ); #X msg 167 360 method \$1; #X obj 92 294 pdp_opencv_threshold; #X msg 190 383 maxmove \$1; #X floatatom 264 384 5 0 0 0 - - -; #X floatatom 288 408 5 0 0 0 - - -; #X msg 200 405 ftolerance \$1; #X text 307 383 maximum move of a countour ( default 10 ); #X text 324 406 frame tolerance for identification ( default 5 ); #X connect 1 0 18 0; #X connect 2 0 1 0; #X connect 3 0 4 0; #X connect 4 0 1 0; #X connect 5 0 1 0; #X connect 6 0 1 0; #X connect 7 0 8 0; #X connect 8 0 10 0; #X connect 9 0 10 0; #X connect 10 0 18 0; #X connect 11 0 10 0; #X connect 12 0 13 0; #X connect 13 0 16 0; #X connect 14 0 16 0; #X connect 15 0 16 0; #X connect 16 0 18 0; #X connect 18 0 66 0; #X connect 26 0 22 0; #X connect 26 1 23 0; #X connect 26 2 24 0; #X connect 26 3 25 0; #X connect 27 0 26 0; #X connect 27 1 36 0; #X connect 27 2 53 0; #X connect 28 0 30 1; #X connect 29 0 30 2; #X connect 30 0 38 0; #X connect 30 1 27 0; #X connect 30 2 47 0; #X connect 36 0 32 0; #X connect 36 1 33 0; #X connect 36 2 34 0; #X connect 36 3 35 0; #X connect 40 0 66 2; #X connect 42 0 16 0; #X connect 43 0 42 0; #X connect 53 0 49 0; #X connect 53 1 50 0; #X connect 53 2 51 0; #X connect 53 3 52 0; #X connect 60 0 30 0; #X connect 61 0 60 0; #X connect 63 0 65 0; #X connect 65 0 30 0; #X connect 66 0 30 0; #X connect 67 0 30 0; #X connect 68 0 67 0; #X connect 69 0 70 0; #X connect 70 0 30 0;