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_moments-help.pd | 476 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 476 insertions(+) create mode 100755 pdp_opencv_hu_moments-help.pd (limited to 'pdp_opencv_hu_moments-help.pd') diff --git a/pdp_opencv_hu_moments-help.pd b/pdp_opencv_hu_moments-help.pd new file mode 100755 index 0000000..db81157 --- /dev/null +++ b/pdp_opencv_hu_moments-help.pd @@ -0,0 +1,476 @@ +#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 360 empty empty empty 20 12 0 14 -258113 -66577 +0; +#X obj 91 703 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 388 49 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 46 -136 Play here with a simple pattern image loaded and play +with zoom and rotation.; +#X text 46 -111 Written by Yves Degoyon ( ydegoyon@gmail.com ); +#X text 46 -162 The moments of contours should be constant ( Hu moments +invariants ) when the shapes are zoomed or rotated.; +#X obj 93 157 pdp_qt; +#X obj 125 92 metro 40; +#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 ); +#N canvas 0 220 1415 776 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 63 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 100; +#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 obj 159 186 pdp_xv; +#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 227 46 nightmode 1; +#X msg 240 74 draw 0; +#X msg 259 98 show 1; +#X obj 332 49 loadbang; +#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 0 14 0; +#X connect 4 1 7 0; +#X connect 4 1 17 0; +#X connect 7 1 8 0; +#X connect 8 0 17 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 18 0; +#X connect 10 3 19 0; +#X connect 11 0 16 0; +#X connect 12 0 11 2; +#X connect 13 0 11 4; +#X connect 16 0 1 0; +#X connect 17 0 10 0; +#X connect 18 0 12 1; +#X connect 19 0 13 1; +#X connect 20 0 4 0; +#X connect 21 0 4 0; +#X connect 22 0 4 0; +#X connect 23 0 20 0; +#X connect 23 0 21 0; +#X connect 23 0 22 0; +#X restore 93 343 pd extract_biggest_contour; +#X text 262 342 abstraction to extract biggest contour; +#X obj 311 253 loadbang; +#X msg 280 253 160; +#X msg 137 440 binary \$1; +#X obj 207 441 tgl 15 0 sbin empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X text 240 441 treat incoming frames as binary data; +#X text 230 468 calculates hu moments invariants; +#X obj 92 466 pdp_opencv_hu_moments; +#X obj 224 508 unpack f f f f f f f; +#X floatatom 234 535 30 0 0 0 - - h1; +#X text 214 534 h1; +#X floatatom 245 557 30 0 0 0 - - h2; +#X floatatom 256 578 30 0 0 0 - - h3; +#X floatatom 269 599 30 0 0 0 - - h4; +#X floatatom 285 621 30 0 0 0 - - h5; +#X floatatom 297 641 30 0 0 0 - - h6; +#X floatatom 306 664 30 0 0 0 - - h7; +#X text 225 556 h2; +#X text 237 577 h3; +#X text 250 598 h4; +#X text 265 620 h5; +#X text 277 640 h6; +#X text 286 663 h7; +#X floatatom 163 412 5 0 0 0 - - -; +#X obj 92 410 pdp_rotate; +#X text 211 410 <-- rotate the frames; +#X floatatom 206 378 5 0 0 0 - - -; +#X obj 92 376 pdp_zoom; +#X text 244 376 <-- zoom the frames; +#X obj 158 377 / 100; +#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 65 pdp_background; +#X obj 705 142 pdp_imgloader; +#X obj 705 42 metro 40; +#X msg 724 21 load \$1 0 0; +#X text 752 -33 loading a pattern image; +#X obj 705 112 pdp_scale 320 240; +#X obj 705 89 pdp_convert image/YCrCb/*; +#X text 751 -20 ( 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 -64 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 706 278 pdp_opencv_threshold; +#X obj 924 251 loadbang; +#X msg 893 251 160; +#X obj 282 297 s trashh; +#X obj 824 250 r trashh; +#X obj 686 322 cnv 15 621 360 empty empty empty 20 12 0 14 -258113 +-66577 0; +#N canvas 0 325 1415 776 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 63 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 100; +#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 obj 159 186 pdp_xv; +#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 227 46 nightmode 1; +#X msg 240 74 draw 0; +#X msg 259 98 show 1; +#X obj 332 49 loadbang; +#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 0 14 0; +#X connect 4 1 7 0; +#X connect 4 1 17 0; +#X connect 7 1 8 0; +#X connect 8 0 17 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 18 0; +#X connect 10 3 19 0; +#X connect 11 0 16 0; +#X connect 12 0 11 2; +#X connect 13 0 11 4; +#X connect 16 0 1 0; +#X connect 17 0 10 0; +#X connect 18 0 12 1; +#X connect 19 0 13 1; +#X connect 20 0 4 0; +#X connect 21 0 4 0; +#X connect 22 0 4 0; +#X connect 23 0 20 0; +#X connect 23 0 21 0; +#X connect 23 0 22 0; +#X restore 708 337 pd extract_biggest_contour; +#X text 877 336 abstraction to extract biggest contour; +#X msg 752 434 binary \$1; +#X obj 822 435 tgl 15 0 empty sbin empty 17 7 0 10 -262144 -1 -1 0 +1; +#X text 847 435 treat incoming frames as binary data; +#X text 845 462 calculates hu moments invariants; +#X obj 707 460 pdp_opencv_hu_moments; +#X obj 839 502 unpack f f f f f f f; +#X floatatom 849 529 30 0 0 0 - - -; +#X text 829 528 h1; +#X floatatom 860 551 30 0 0 0 - - -; +#X floatatom 871 572 30 0 0 0 - - -; +#X floatatom 884 593 30 0 0 0 - - -; +#X floatatom 900 615 30 0 0 0 - - -; +#X floatatom 912 635 30 0 0 0 - - -; +#X floatatom 921 658 30 0 0 0 - - -; +#X text 840 550 h2; +#X text 852 571 h3; +#X text 865 592 h4; +#X text 880 614 h5; +#X text 892 634 h6; +#X text 901 657 h7; +#X floatatom 778 406 5 0 0 0 - - -; +#X obj 707 404 pdp_rotate; +#X text 826 404 <-- rotate the frames; +#X floatatom 821 372 5 0 0 0 - - -; +#X obj 707 370 pdp_zoom; +#X text 859 370 <-- zoom the frames; +#X obj 773 371 / 100; +#X obj 764 527 r h1; +#X obj 800 527 -; +#X obj 809 551 -; +#X obj 820 574 -; +#X obj 835 596 -; +#X obj 851 618 -; +#X obj 865 637 -; +#X obj 872 657 -; +#X obj 773 551 r h2; +#X obj 784 574 r h3; +#X obj 799 596 r h4; +#X obj 815 617 r h5; +#X obj 829 637 r h6; +#X obj 836 657 r h7; +#X obj 708 493 pdp_xv; +#X floatatom 185 94 5 0 0 0 - - -; +#X msg 140 157 224; +#X text 46 -186 pdp_opencv_hu_moments :: Calculates the hu moments +of contours.; +#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 80 0; +#X connect 11 0 5 0; +#X connect 12 0 11 0; +#X connect 13 0 29 0; +#X connect 17 0 13 0; +#X connect 18 0 17 0; +#X connect 19 0 18 0; +#X connect 20 0 18 0; +#X connect 21 0 22 0; +#X connect 22 0 17 0; +#X connect 23 0 21 0; +#X connect 24 0 17 0; +#X connect 25 0 24 0; +#X connect 26 0 25 0; +#X connect 26 0 19 0; +#X connect 29 0 57 0; +#X connect 31 0 32 0; +#X connect 32 0 9 0; +#X connect 33 0 37 0; +#X connect 34 0 33 0; +#X connect 37 0 7 0; +#X connect 37 1 38 0; +#X connect 38 0 39 0; +#X connect 38 1 41 0; +#X connect 38 2 42 0; +#X connect 38 3 43 0; +#X connect 38 4 44 0; +#X connect 38 5 45 0; +#X connect 38 6 46 0; +#X connect 53 0 54 1; +#X connect 54 0 37 0; +#X connect 56 0 59 0; +#X connect 57 0 54 0; +#X connect 59 0 57 1; +#X connect 62 0 67 0; +#X connect 63 0 62 0; +#X connect 63 0 66 0; +#X connect 64 0 70 0; +#X connect 65 0 77 0; +#X connect 66 0 64 0; +#X connect 67 0 65 0; +#X connect 69 0 65 0; +#X connect 70 0 69 0; +#X connect 72 0 66 0; +#X connect 75 0 77 2; +#X connect 77 0 83 0; +#X connect 78 0 79 0; +#X connect 79 0 75 0; +#X connect 81 0 75 0; +#X connect 83 0 109 0; +#X connect 85 0 89 0; +#X connect 86 0 85 0; +#X connect 89 0 126 0; +#X connect 89 1 90 0; +#X connect 90 0 113 1; +#X connect 90 1 114 1; +#X connect 90 2 115 1; +#X connect 90 3 116 1; +#X connect 90 4 117 1; +#X connect 90 5 118 1; +#X connect 90 6 119 1; +#X connect 105 0 106 1; +#X connect 106 0 89 0; +#X connect 108 0 111 0; +#X connect 109 0 106 0; +#X connect 111 0 109 1; +#X connect 112 0 113 0; +#X connect 113 0 91 0; +#X connect 114 0 93 0; +#X connect 115 0 94 0; +#X connect 116 0 95 0; +#X connect 117 0 96 0; +#X connect 118 0 97 0; +#X connect 119 0 98 0; +#X connect 120 0 114 0; +#X connect 121 0 115 0; +#X connect 122 0 116 0; +#X connect 123 0 117 0; +#X connect 124 0 118 0; +#X connect 125 0 119 0; +#X connect 127 0 18 1; +#X connect 128 0 17 1; -- cgit v1.2.1