#N canvas 1 49 1415 776 10; #X obj 41 -81 cnv 15 621 300 empty empty empty 20 12 0 14 -260097 -66577 0; #X obj 301 -30 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X obj 301 -3 metro 40; #X msg 382 16 close; #X msg 378 -8 open /dev/video0; #X obj 321 95 pdp_v4l2; #X obj 44 328 cnv 15 621 250 empty empty empty 20 12 0 14 -258113 -66577 0; #X obj 93 594 pdp_xv; #X obj 44 244 cnv 15 621 73 empty empty empty 20 12 0 14 -260801 -66577 0; #X floatatom 243 280 5 0 0 0 - - -; #X text 281 279 threshold (default 13) to use when comparing pixel colors; #X msg 387 71 format \$1; #X obj 387 50 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -262144 -1 -1 0; #X obj 93 280 pdp_opencv_threshold; #X text 50 -112 Written by Yves Degoyon ( ydegoyon@gmail.com ); #X obj 93 157 pdp_qt; #X msg 125 64 bang; #X msg 166 64 stop; #X obj 92 -5 openpanel; #X msg 92 20 open \$1; #X msg 92 -33 bang; #X msg 126 119 loop \$1; #X obj 206 119 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X obj 206 37 loadbang; #X text 143 -32 playing a video file; #X text 161 -19 ( try estrella.mov ); #X obj 319 253 loadbang; #X msg 280 253 160; #X floatatom 219 518 30 0 0 0 - - -; #X text 62 -63 INPUT : movie or camera; #X obj 684 -82 cnv 15 621 300 empty empty empty 20 12 0 14 -260097 -66577 0; #X obj 725 -3 openpanel; #X msg 706 -32 bang; #X obj 705 142 pdp_imgloader; #X obj 705 42 metro 40; #X msg 724 21 load \$1 0 0; #X text 752 -39 loading a pattern image; #X obj 705 112 pdp_scale 320 240; #X obj 705 89 pdp_convert image/YCrCb/*; #X text 751 -26 ( try estrella.jpg ); #X obj 764 42 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X text 705 -57 Compare to a pattern; #X obj 686 242 cnv 15 621 73 empty empty empty 20 12 0 14 -260801 -66577 0; #X floatatom 856 278 5 0 0 0 - - -; #X text 894 277 threshold (default 13) to use when comparing pixel colors; #X obj 705 277 pdp_opencv_threshold; #X obj 924 251 loadbang; #X msg 893 251 160; #X floatatom 185 94 5 0 0 0 - - -; #X text 228 503 distance; #X obj 112 189 s frame; #X floatatom 722 557 10 0 0 0 - - -; #X floatatom 780 535 5 0 0 0 - - -; #X text 816 535 frame; #X obj 758 511 r frame; #N canvas 5 441 449 300 cmin 0; #X obj 70 144 route 1; #X msg 122 144 bang; #X obj 42 70 t f b; #X obj 89 95 f; #X obj 45 44 inlet; #X obj 73 180 outlet; #X obj 188 42 inlet; #X obj 208 97 f; #X obj 211 160 outlet; #X obj 43 144 <; #X obj 56 119 f 189; #X msg 109 73 18; #X obj 123 48 loadbang; #X obj 125 104 r reset; #X connect 0 0 1 0; #X connect 1 0 3 0; #X connect 1 0 7 0; #X connect 1 0 10 0; #X connect 2 0 3 1; #X connect 2 0 9 0; #X connect 2 1 10 0; #X connect 3 0 10 1; #X connect 4 0 2 0; #X connect 6 0 7 1; #X connect 7 0 8 0; #X connect 9 0 0 0; #X connect 10 0 5 0; #X connect 10 0 9 1; #X connect 11 0 10 1; #X connect 12 0 11 0; #X connect 13 0 11 0; #X restore 722 533 pd cmin; #X text 788 558 min; #X obj 125 92 metro 100; #X msg 814 512 bang; #X obj 818 557 s iframe; #X obj 174 156 r iframe; #X obj 144 157 - 1; #X msg 52 119 bang; #X obj 153 471 pdp_xv; #X obj 705 65 pdp_noise; #X obj 282 297 s tresh; #X obj 825 250 r tresh; #X msg 128 341 minsize \$1; #X floatatom 202 342 5 0 0 0 - - -; #X text 243 342 minimum size of selected contours ( default : 10x10 ); #X msg 144 365 clear; #X text 253 366 recalculates the pattern contour; #X obj 805 21 s reset; #X obj 796 -4 t b s; #X obj 193 366 r reset; #X obj 93 440 pdp_opencv_pgh_compare; #X text 244 433 compares the contours to the pattern reference contour ; #X text 243 445 calculating their PGH histogram; #X text 48 -136 pdp_opencv_pgh_compare :: compare contours calculating their PGH histograms.; #X msg 167 392 criteria \$1; #X obj 251 393 r cdist; #X text 306 394 criteria value under which the contour is recongnized ; #X text 306 405 ( adjust to your situation : default : 0.05 ); #X obj 452 540 route 1; #X obj 505 540 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X obj 509 518 hsl 128 15 0 0.2 0 0 cdist empty empty -2 -8 0 10 -262144 -1 -1 0 1; #X text 539 538 criteria value; #X floatatom 427 520 10 0 0 0 - - -; #X obj 409 539 < 0.05; #X text 735 491 minimum distance; #X obj 275 465 unpack f f f f f; #X text 389 465 position of detected contours; #X floatatom 298 487 5 0 0 0 - - -; #X floatatom 336 488 5 0 0 0 - - -; #X floatatom 376 487 5 0 0 0 - - -; #X floatatom 419 488 5 0 0 0 - - -; #X text 305 500 X; #X text 344 499 Y; #X text 376 499 width; #X text 417 500 height; #X connect 1 0 2 0; #X connect 2 0 5 0; #X connect 3 0 5 0; #X connect 4 0 5 0; #X connect 5 0 13 0; #X connect 9 0 13 2; #X connect 9 0 65 0; #X connect 11 0 5 0; #X connect 12 0 11 0; #X connect 13 0 75 0; #X connect 15 0 13 0; #X connect 15 1 50 0; #X connect 16 0 57 0; #X connect 17 0 57 0; #X connect 18 0 19 0; #X connect 19 0 15 0; #X connect 20 0 18 0; #X connect 21 0 15 0; #X connect 22 0 21 0; #X connect 23 0 22 0; #X connect 23 0 16 0; #X connect 26 0 27 0; #X connect 27 0 9 0; #X connect 28 0 55 0; #X connect 28 0 88 0; #X connect 31 0 73 0; #X connect 32 0 31 0; #X connect 32 0 34 0; #X connect 33 0 45 0; #X connect 34 0 64 0; #X connect 35 0 33 0; #X connect 37 0 33 0; #X connect 38 0 37 0; #X connect 40 0 34 0; #X connect 43 0 45 2; #X connect 45 0 75 1; #X connect 46 0 47 0; #X connect 47 0 43 0; #X connect 48 0 57 1; #X connect 52 0 59 0; #X connect 54 0 55 1; #X connect 55 0 51 0; #X connect 55 1 52 0; #X connect 57 0 15 0; #X connect 58 0 52 0; #X connect 60 0 61 0; #X connect 61 0 15 1; #X connect 62 0 15 0; #X connect 64 0 38 0; #X connect 66 0 43 0; #X connect 67 0 75 0; #X connect 68 0 67 0; #X connect 70 0 75 0; #X connect 73 0 72 0; #X connect 73 1 35 0; #X connect 74 0 70 0; #X connect 75 0 7 0; #X connect 75 1 63 0; #X connect 75 2 28 0; #X connect 75 3 90 0; #X connect 79 0 75 0; #X connect 80 0 79 0; #X connect 83 0 84 0; #X connect 85 0 87 0; #X connect 85 0 88 1; #X connect 88 0 83 0; #X connect 90 1 92 0; #X connect 90 2 93 0; #X connect 90 3 94 0; #X connect 90 4 95 0;