#N canvas 41 167 1154 642 10; #X obj 396 -37 gemhead; #X obj 364 478 pix_texture; #X obj 364 506 square 2; #X obj 9 -28 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 67 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 160 260 gemwin; #X msg 159 207 create \, 1; #X msg 235 208 destroy; #X msg 281 180 frame 5; #X obj 162 170 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 14 16 pd gemwin; #X msg 14 -8 destroy; #X text 12 -26 Create window and render; #X obj 216 478 pix_texture; #X obj 216 506 square 2; #X obj 367 159 translateXYZ -2 0 0; #X obj 367 224 separator; #X obj 350 285 cnv 15 500 180 empty empty empty 20 12 0 14 -24198 -66577 0; #X obj 511 -66 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 -1; #X obj 524 128 unpack 0 0 0; #X floatatom 514 151 5 0 0 3 length - -; #X floatatom 563 151 5 0 0 3 width - -; #X floatatom 613 151 5 0 0 3 height - -; #X obj 568 109 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 -1 -1; #X floatatom 550 74 5 0 10000 1 frame# - -; #X obj 511 -37 openpanel; #X msg 511 -17 open \$1; #X obj 499 92 pix_film; #X msg 517 26 auto \$1; #X obj 517 8 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 ; #X obj 364 259 translateXYZ 4 0 0; #X obj 439 290 hradio 15 1 0 5 empty empty empty 0 -8 0 10 -262144 -1 -1 0; #X text 522 289 save an histogram at position nth ( 0 <= n <= 80 ) ; #X text 5 -87 record histograms of specific situations; #X text 7 -75 the object will recognize the situations if they occur again; #X text 7 -61 Written by Lluis Gomez i Bigorda ( lluisgomez@hangar.org ); #X floatatom 443 421 5 0 0 0 - - -; #X obj 505 346 unpack f f f f f; #X text 598 381 nearest to 1 is the winner; #X text 479 422 closest histogram (winner); #X obj 505 374 vsl 15 37 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 528 374 vsl 15 37 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 551 374 vsl 15 37 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X obj 574 374 vsl 15 37 0 1 0 0 empty empty empty 0 -9 0 10 -262144 -1 -1 0 1; #X text 597 370 matching measure with stored histograms; #X obj 364 315 pix_opencv_hist_compare; #X text 7 -100 pix_opencv_hist_compare : image recognition using histograms ; #X msg 583 44 colorspace RGBA; #X obj 606 17 loadbang; #X msg 688 43 colorspace RGB; #X msg 684 19 colorspace Grey; #X connect 0 0 21 0; #X connect 1 0 2 0; #X connect 4 0 5 0; #X connect 5 0 4 0; #X connect 7 0 8 0; #X connect 9 0 7 0; #X connect 9 0 10 0; #X connect 10 0 24 0; #X connect 12 0 19 0; #X connect 13 0 14 0; #X connect 13 1 15 0; #X connect 13 2 16 0; #X connect 17 0 18 0; #X connect 18 0 21 1; #X connect 19 0 20 0; #X connect 20 0 21 0; #X connect 21 0 9 0; #X connect 21 1 13 0; #X connect 21 2 17 0; #X connect 22 0 21 0; #X connect 23 0 22 0; #X connect 24 0 39 0; #X connect 25 0 39 1; #X connect 31 0 34 0; #X connect 31 1 35 0; #X connect 31 2 36 0; #X connect 31 3 37 0; #X connect 39 0 1 0; #X connect 39 1 30 0; #X connect 39 2 31 0; #X connect 41 0 21 0; #X connect 42 0 41 0; #X connect 43 0 21 0; #X connect 44 0 21 0;