From 20c08678d50435c2311ec0956adb20e5fa897338 Mon Sep 17 00:00:00 2001 From: "N.N." Date: Sat, 15 Aug 2009 12:33:38 +0000 Subject: added contours compare, hist compare, knearest (OCR), cleanups svn path=/trunk/externals/pdp_opencv/; revision=11920 --- pdp_opencv_hu_compare-help.pd | 334 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 334 insertions(+) create mode 100755 pdp_opencv_hu_compare-help.pd (limited to 'pdp_opencv_hu_compare-help.pd') diff --git a/pdp_opencv_hu_compare-help.pd b/pdp_opencv_hu_compare-help.pd new file mode 100755 index 0000000..a087797 --- /dev/null +++ b/pdp_opencv_hu_compare-help.pd @@ -0,0 +1,334 @@ +#N canvas 1 49 1424 780 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 200 empty empty empty 20 12 0 14 -258113 -66577 +0; +#X obj 95 538 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 482 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 obj 93 440 pdp_opencv_hu_compare; +#X text 224 465 distance; +#X obj 236 361 hradio 15 1 0 3 empty empty empty 0 -8 0 10 -262144 +-1 -1 0; +#X text 287 355 method used for comparison : one of : CV_CONTOURS_MATCH_I1 +\, CV_CONTOURS_MATCH_I2 or CV_CONTOURS_MATCH_I3; +#X text 228 445 calculating their hu moments ( CvMatchShape ); +#X obj 112 189 s frame; +#X floatatom 218 595 10 0 0 0 - - -; +#X floatatom 276 573 5 0 0 0 - - -; +#X text 312 573 frame; +#X obj 254 549 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; +#N canvas 1 49 1424 780 extract_biggest_contour 0; +#X obj 117 34 inlet; +#X obj 127 518 outlet; +#X floatatom 263 122 5 0 0 0 - - -; +#X floatatom 335 135 5 0 0 0 - - -; +#X obj 145 150 pdp_opencv_contours_boundingrect; +#X text 301 120 minimal area in pixels to be detected (default 10x10) +; +#X text 372 136 maximal area in pixels to be detected (default 320x240) +; +#N canvas 68 323 605 502 smax 0; +#X obj 37 368 route 1; +#X obj 80 233 t f b; +#X obj 127 258 f; +#X obj 41 329 >; +#X obj 94 282 f 0; +#X obj 193 253 f; +#X obj 209 290 outlet; +#X msg 199 184 0; +#X obj 220 130 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#X obj 225 97 loadbang; +#X obj 105 73 unpack f f f f f; +#X obj 99 115 *; +#X obj 88 143 f; +#X obj 142 117 t b f; +#X obj 132 25 inlet; +#X obj 156 183 f; +#X msg 172 384 bang; +#X msg 200 212 bang; +#X obj 119 319 f; +#X obj 111 343 outlet; +#X obj 204 154 metro 10; +#X connect 0 0 16 0; +#X connect 1 0 2 1; +#X connect 1 0 3 0; +#X connect 1 1 4 0; +#X connect 2 0 4 1; +#X connect 3 0 0 0; +#X connect 4 0 3 1; +#X connect 4 0 18 1; +#X connect 5 0 6 0; +#X connect 7 0 2 1; +#X connect 7 0 4 1; +#X connect 7 0 17 0; +#X connect 8 0 20 0; +#X connect 9 0 8 0; +#X connect 10 0 13 0; +#X connect 10 3 11 0; +#X connect 10 4 11 1; +#X connect 11 0 12 1; +#X connect 12 0 1 0; +#X connect 13 0 12 0; +#X connect 13 1 15 1; +#X connect 14 0 10 0; +#X connect 15 0 5 1; +#X connect 16 0 2 0; +#X connect 16 0 15 0; +#X connect 17 0 5 0; +#X connect 17 0 18 0; +#X connect 18 0 19 0; +#X connect 20 0 7 0; +#X restore 213 197 pd smax; +#X floatatom 284 226 5 0 0 0 - - -; +#X text 322 226 biggest contour number; +#X obj 212 267 unpack f f f f; +#X obj 133 420 pdp_cropper; +#X obj 209 351 +; +#X obj 253 351 +; +#X text 219 421 crop biggest contour; +#X obj 133 469 pdp_scale 320 240; +#N canvas 418 122 450 300 sroute 0; +#X obj 148 99 inlet; +#X obj 90 54 list split 1; +#X obj 90 31 inlet; +#X obj 90 188 outlet; +#X obj 90 124 select \$1; +#X obj 90 154 list; +#X connect 0 0 4 1; +#X connect 1 0 4 0; +#X connect 1 1 5 1; +#X connect 2 0 1 0; +#X connect 4 0 5 0; +#X connect 5 0 3 0; +#X restore 213 246 pd sroute; +#X obj 222 322 expr $f1+8-($f1%8); +#X obj 293 295 expr $f1+8-($f1%8); +#X msg 240 74 draw 0; +#X msg 259 98 show 1; +#X obj 332 49 loadbang; +#X msg 208 46 nightmode \$1; +#X obj 192 20 r nightmode; +#X connect 0 0 4 0; +#X connect 2 0 4 1; +#X connect 3 0 4 2; +#X connect 4 0 11 0; +#X connect 4 1 7 0; +#X connect 4 1 16 0; +#X connect 7 1 8 0; +#X connect 8 0 16 1; +#X connect 10 0 12 0; +#X connect 10 0 11 1; +#X connect 10 1 13 0; +#X connect 10 1 11 3; +#X connect 10 2 17 0; +#X connect 10 3 18 0; +#X connect 11 0 15 0; +#X connect 12 0 11 2; +#X connect 13 0 11 4; +#X connect 15 0 1 0; +#X connect 16 0 10 0; +#X connect 17 0 12 1; +#X connect 18 0 13 1; +#X connect 19 0 4 0; +#X connect 20 0 4 0; +#X connect 21 0 19 0; +#X connect 21 0 20 0; +#X connect 22 0 4 0; +#X connect 23 0 22 0; +#X restore 152 219 pd extract_biggest_contour; +#X text 149 199 abstraction to extract biggest contour; +#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 218 571 pd cmin; +#X text 284 596 min; +#X obj 125 92 metro 100; +#X msg 310 550 bang; +#X obj 314 595 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 208 360 + 1; +#X obj 705 65 pdp_noise; +#X obj 282 297 s tresh; +#X obj 825 250 r tresh; +#X msg 138 360 method \$1; +#X msg 124 333 minsize \$1; +#X floatatom 198 334 5 0 0 0 - - -; +#X text 239 334 minimum size of selected contours ( default : 10x10 +); +#X obj 435 500 route 1; +#X obj 487 500 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X msg 174 382 clear; +#X text 282 382 recalculates the pattern contour; +#X obj 396 501 < 0.1; +#X obj 805 21 s reset; +#X obj 796 -4 t b s; +#X obj 223 383 r reset; +#X text 51 -140 pdp_opencv_hu_compare :: compare contours using their +hu moments using CvMatchShape.; +#X text 227 433 compares the contours to the pattern reference contour +; +#X msg 200 408 criteria \$1; +#X obj 284 409 r cdist; +#X text 337 403 criteria value under which the contour is recongnized +; +#X text 335 414 ( adjust to your situation : default : 0.1 ); +#X obj 496 480 hsl 128 15 0 0.2 0 0 cdist empty empty -2 -8 0 10 -262144 +-1 -1 0 1; +#X text 409 463 criteria value; +#X floatatom 414 482 10 0 0 0 - - -; +#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 70 0; +#X connect 11 0 5 0; +#X connect 12 0 11 0; +#X connect 13 0 49 0; +#X connect 15 0 13 0; +#X connect 15 1 54 0; +#X connect 16 0 61 0; +#X connect 17 0 61 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 59 0; +#X connect 28 0 80 0; +#X connect 31 0 82 0; +#X connect 32 0 31 0; +#X connect 32 0 34 0; +#X connect 33 0 45 0; +#X connect 34 0 69 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 49 1; +#X connect 46 0 47 0; +#X connect 47 0 43 0; +#X connect 48 0 61 1; +#X connect 49 0 7 0; +#X connect 49 1 67 0; +#X connect 49 2 28 0; +#X connect 51 0 68 0; +#X connect 56 0 63 0; +#X connect 58 0 59 1; +#X connect 59 0 55 0; +#X connect 59 1 56 0; +#X connect 61 0 15 0; +#X connect 62 0 56 0; +#X connect 64 0 65 0; +#X connect 65 0 15 1; +#X connect 66 0 15 0; +#X connect 68 0 72 0; +#X connect 69 0 38 0; +#X connect 71 0 43 0; +#X connect 72 0 49 0; +#X connect 73 0 49 0; +#X connect 74 0 73 0; +#X connect 76 0 77 0; +#X connect 78 0 49 0; +#X connect 80 0 76 0; +#X connect 82 0 81 0; +#X connect 82 1 35 0; +#X connect 83 0 78 0; +#X connect 86 0 49 0; +#X connect 87 0 86 0; +#X connect 90 0 80 1; +#X connect 90 0 92 0; -- cgit v1.2.1