#N canvas 525 106 1091 744 10; #X obj 613 540 cnv 15 650 250 empty empty empty 20 12 0 14 -24198 -66577 0; #X floatatom 792 876 5 0 0 0 - - -; #X floatatom 827 876 5 0 0 0 - - -; #X floatatom 864 876 5 0 0 0 - - -; #X floatatom 935 876 5 0 0 0 - - -; #X floatatom 970 876 5 0 0 0 - - -; #X floatatom 1007 876 5 0 0 0 - - -; #X floatatom 1073 878 5 0 0 0 - - -; #X floatatom 1108 878 5 0 0 0 - - -; #X obj 616 765 pix_opencv_haarcascade; #X obj 702 544 openpanel; #X obj 779 822 route 0 1 2 3 4; #X text 779 894 Xcenter Ycenter Radius; #X text 924 893 Xcenter Ycenter Radius; #X obj 789 847 unpack 0 0 0; #X obj 932 847 unpack 0 0 0; #X obj 1070 849 unpack 0 0 0; #X floatatom 1148 877 5 0 0 0 - - -; #X text 1067 894 Xcenter Ycenter Radius; #X msg 642 545 load \$1; #X text 792 546 Load a trained cascade classifier from XML file; #X obj 772 544 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; #X floatatom 809 641 5 0 0 0 - - -; #X floatatom 763 612 5 0 0 0 - - -; #X msg 662 578 mode \$1; #X obj 723 578 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; #X msg 672 611 min_size \$1; #X msg 686 638 min_neighbors \$1; #X text 847 630 Minimum number (minus 1) of neighbor rectangles that makes up an object (default 2); #X msg 715 671 scale_factor \$1; #X floatatom 833 671 5 0 0 0 - - -; #X text 877 670 The factor by which the search window is scaled between the subsequent scans (default 1.1); #X text 879 822 For each object detected; #X floatatom 686 796 5 0 0 0 - - -; #X text 725 796 number of objects detected; #X text 804 613 Minimum size of object (default 30); #X msg 743 700 ftolerance \$1; #X floatatom 833 701 5 0 0 0 - - -; #X msg 748 724 clear; #X text 874 708 temporarily ( default 5 ); #X text 874 696 number of frames where an object can disappear; #X text 793 725 clear markers history; #X text 745 575 Mode of operation. Currently the only flag that may be specified is CV_HAAR_DO_CANNY_PRUNING ( 0 ); #X text 46 169 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 pix_threshold to obtain a correct input for pix_opencv_contours_boundingrect. ; #X text 47 222 pix_opencv_contours_convexhull works detecting the bigest white area in the input image \, sometimes you will need to use pix_opencv_morphology to transform the contours of the shape to be analyzed..; #X text 47 133 pix_opencv_contours_convexhull :: Finds convexhull of the bigest contour of a binary image.; #X obj 735 64 gemhead; #X obj 616 862 pix_texture; #X obj 616 881 square 2; #X obj 53 60 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577 0; #N canvas 0 22 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 161 188 create \, 1; #X msg 237 189 destroy; #X msg 283 161 frame 25; #X obj 164 126 t b b b; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 2 0 10 0; #X connect 2 1 4 0; #X connect 2 1 8 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 6 0; #X connect 10 0 7 0; #X connect 10 2 9 0; #X restore 63 104 pd gemwin; #X msg 63 86 create; #X obj 464 858 pix_texture; #X obj 464 886 square 2; #X obj 616 391 separator; #X obj 747 91 bng 25 250 50 0 load empty empty 0 -6 0 8 -262144 -1 -1; #X obj 804 266 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 -1 -1; #X floatatom 786 231 5 0 10000 1 frame# - -; #X obj 747 120 openpanel; #X msg 747 140 open \$1; #X obj 735 249 pix_film; #X msg 753 183 auto \$1; #X obj 753 165 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; #X text 61 66 Create window and render; #X msg 848 166 colorspace RGBA; #X msg 953 166 colorspace RGB; #X msg 1057 166 colorspace Grey; #X obj 848 138 loadbang; #X obj 615 362 pix_separator; #X obj 464 394 separator; #X obj 464 365 pix_separator; #X obj