#N canvas 257 49 833 785 10; #X obj -17 -54 cnv 15 700 350 empty empty empty 20 12 0 14 -260097 -66577 0; #X obj 226 -30 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1; #X obj 226 -4 metro 40; #X obj -15 303 cnv 15 621 300 empty empty empty 20 12 0 14 -258113 -66577 0; #X obj 26 626 pdp_xv; #X msg 116 610 cursor 1; #X floatatom 163 456 10 0 0 0 - - -; #X obj 225 21 pdp_background; #X obj 223 190 pdp_xv; #X msg 273 189 cursor 1; #X msg 317 166 rgb 0 0 0; #X obj 449 166 loadbang; #X msg 110 375 bang; #X text -13 -110 pdp_opencv_cvk : OCR-like pattern recognition; #X text -13 -99 based on basic OCR with Open CV tutorial; #X text -13 -88 by damiles : http://blog.damiles.com/?p=93; #X text -13 -75 adapted to PD by Yves Degoyon ( ydegoyon@gmail.com ); #X text 253 -32 Hand drawing input; #X msg 255 107 clear; #X obj 48 -6 openpanel; #X msg 29 -35 bang; #X obj 28 62 pdp_background; #X obj 30 139 pdp_imgloader; #X obj 28 39 metro 40; #X msg 47 18 load \$1 0 0; #X floatatom 123 64 5 0 0 0 - - -; #X obj 56 166 pdp_xv; #X obj 29 86 pdp_convert image/YCrCb/*; #X obj 3 11 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1 ; #X obj 28 109 pdp_scale 128 128; #X text 65 -35 Test with an image; #X text 235 457 Distance of the incoming symbol compared to the patterns ; #X obj 29 226 pdp_binary; #X text 147 376 compare the incoming frame to the patterns; #X text 359 108 <-- clear the input and try again; #X obj 222 167 pdp_pen ------; #X obj 226 48 pdp_convert image/YCrCb/*; #X text 340 76 <-- this must be the same size as your patterns; #X obj 226 78 pdp_scale 128 128; #X obj 167 397 s pclear; #X obj 298 108 r pclear; #X obj 109 398 del 1000; #X msg 384 167 width 8; #N canvas 5 49 634 415 thingsidontwanttosee 0; #X msg 267 202 draw \$1 \$2; #X obj 358 202 unpack f f; #X obj 343 228 f; #X obj 370 228 f; #X msg 380 179 fill \$1 \$2; #X obj 342 248 pack f f; #X obj 227 179 route press drag release; #X obj 230 148 inlet; #X obj 258 274 outlet; #X connect 0 0 8 0; #X connect 1 0 2 1; #X connect 1 1 3 1; #X connect 2 0 5 0; #X connect 3 0 5 1; #X connect 4 0 8 0; #X connect 5 0 4 0; #X connect 6 0 1 0; #X connect 6 1 0 0; #X connect 7 0 6 0; #X restore 270 138 pd thingsidontwanttosee; #X text 421 137 <-- mouse events; #X obj 19 423 pdp_opencv_cvk plus 50; #X connect 1 0 2 0; #X connect 2 0 7 0; #X connect 5 0 4 0; #X connect 7 0 36 0; #X connect 8 0 43 0; #X connect 9 0 8 0; #X connect 10 0 35 0; #X connect 11 0 10 0; #X connect 11 0 42 0; #X connect 12 0 41 0; #X connect 12 0 45 0; #X connect 18 0 35 0; #X connect 19 0 24 0; #X connect 20 0 19 0; #X connect 20 0 23 0; #X connect 20 0 28 0; #X connect 21 0 27 0; #X connect 22 0 32 0; #X connect 22 0 26 0; #X connect 23 0 21 0; #X connect 24 0 22 0; #X connect 25 0 21 3; #X connect 27 0 29 0; #X connect 28 0 23 0; #X connect 29 0 22 0; #X connect 32 0 45 0; #X connect 35 0 8 0; #X connect 35 0 9 0; #X connect 35 0 32 0; #X connect 36 0 38 0; #X connect 38 0 35 0; #X connect 40 0 18 0; #X connect 41 0 39 0; #X connect 42 0 35 0; #X connect 43 0 35 0; #X connect 45 0 4 0; #X connect 45 0 5 0; #X connect 45 1 6 0;