From bd711e9011a3d71248ba9f1595ed2d23089f4667 Mon Sep 17 00:00:00 2001 From: Antoine Villeret Date: Sat, 22 Sep 2012 15:20:06 +0000 Subject: help patches svn path=/trunk/externals/pix_opencv/; revision=16271 --- pix_opencv_contours_boundingrect-help.pd | 371 +++++++++++++++---------------- 1 file changed, 174 insertions(+), 197 deletions(-) (limited to 'pix_opencv_contours_boundingrect-help.pd') diff --git a/pix_opencv_contours_boundingrect-help.pd b/pix_opencv_contours_boundingrect-help.pd index bbc7a5f..035f46a 100644 --- a/pix_opencv_contours_boundingrect-help.pd +++ b/pix_opencv_contours_boundingrect-help.pd @@ -1,59 +1,70 @@ -#N canvas 1444 52 1427 767 10; -#X obj 580 466 cnv 15 550 250 empty empty empty 20 12 0 14 -24198 -66577 +#N canvas 182 109 1202 794 10; +#X obj 2 42 cnv 15 430 560 empty empty empty 20 12 0 14 -233017 -66577 0; -#X floatatom 717 652 5 0 0 0 - - -; -#X floatatom 803 666 5 0 0 0 - - -; -#X floatatom 725 815 5 0 0 0 - - -; -#X floatatom 760 815 5 0 0 0 - - -; -#X floatatom 797 815 5 0 0 0 - - -; -#X floatatom 831 815 5 0 0 0 - - -; -#X obj 722 786 unpack 0 0 0 0 0; -#X obj 730 736 route 0 1 2 3 4; -#X text 790 754 For each contour detected; -#X text 29 172 It is useful as a motion tracker if you have well isolated +#X obj 2 -4 cnv 15 430 40 empty empty empty 20 12 0 14 -195568 -66577 +0; +#X text 11 0 Arguments:; +#X obj 2 -99 cnv 15 430 90 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 7 -137 Class: pix_opencv; +#X text 32 17 none; +#X obj 437 -158 cnv 15 710 760 empty empty empty 20 12 0 14 -228992 +-66577 0; +#X obj 589 283 cnv 15 550 250 empty empty empty 20 12 0 14 -24198 -66577 +0; +#X floatatom 693 467 5 0 0 0 - - -; +#X floatatom 788 481 5 0 0 0 - - -; +#X floatatom 693 581 5 0 0 0 - - -; +#X floatatom 728 581 5 0 0 0 - - -; +#X floatatom 765 581 5 0 0 0 - - -; +#X floatatom 799 581 5 0 0 0 - - -; +#X obj 693 558 unpack 0 0 0 0 0; +#X obj 693 536 route 0 1 2 3 4; +#X text 794 539 For each contour detected; +#X text 16 50 It is useful as a motion tracker if you have well isolated silouets of the objects you want to track.; -#X msg 621 480 mode \$1; -#X obj 682 481 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -262144 +#X msg 618 293 mode \$1; +#X obj 679 294 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -262144 -1 -1 0; -#X text 751 482 retrieval mode ( see cvFindContours ); -#X obj 717 506 hradio 15 1 0 5 empty empty empty 0 -8 0 10 -262144 +#X text 748 295 retrieval mode ( see cvFindContours ); +#X obj 714 319 hradio 15 1 0 5 empty empty empty 0 -8 0 10 -262144 -1 -1 0; -#X text 799 506 retrieval method ( see cvFindContours ); -#X msg 650 505 method \$1; -#X msg 673 528 maxmove \$1; -#X floatatom 747 529 5 0 0 0 - - -; -#X floatatom 771 553 5 0 0 0 - - -; -#X msg 683 550 ftolerance \$1; -#X text 808 551 frame tolerance for identification ( default 5 ); -#X text 30 138 pix_opencv_contours_boundingrect :: Calculates up-right +#X text 796 319 retrieval method ( see cvFindContours ); +#X msg 647 318 method \$1; +#X msg 670 341 maxmove \$1; +#X floatatom 744 342 5 0 0 0 - - -; +#X floatatom 768 366 5 0 0 0 - - -; +#X msg 680 363 ftolerance \$1; +#X text 805 364 frame tolerance for identification ( default 5 ); +#X text 9 -93 pix_opencv_contours_boundingrect :: Calculates up-right bounding rectangle of all contours of a binary image.; -#X text 29 211 This object considers a contour to be analyzed any group +#X text 16 89 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 pdp_bgsubstract or pdp_threshold to obtain a correct input for pix_opencv_contours_boundingrect.; -#X text 29 265 pix_opencv_contours_boundingrect works detecting any +#X text 16 143 pix_opencv_contours_boundingrect works detecting any white areas in the input image \, it's important to set max/min values of the areas you want to detect to filter non interesting noise or areas \, also sometimes you will need to use pix_opencv_morphology to transform the contours of the shapes to be analyzed..; -#X floatatom 833 719 5 0 0 0 - - -; -#X text 871 720 number of contours; -#X msg 698 575 nightmode \$1; -#X obj 788 576 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +#X floatatom 788 518 5 0 0 0 - - -; +#X text 826 519 number of contours; +#X msg 695 388 nightmode \$1; +#X obj 785 389 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; -#X obj 777 597 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +#X obj 774 410 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; -#X obj 790 619 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +#X obj 787 432 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; -#X msg 717 596 draw \$1; -#X text 804 595 draw bounding rectangle ( default : on ); -#X msg 732 617 show \$1; -#X text 817 616 draw the detected contours ( default : off ); -#X text 811 576 hide original image ( default : off ); -#X obj 715 44 gemhead; -#X obj 596 842 pix_texture; -#X obj 33 40 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577 -0; +#X msg 714 409 draw \$1; +#X text 801 408 draw bounding rectangle ( default : on ); +#X msg 729 430 show \$1; +#X text 814 429 draw the detected contours ( default : off ); +#X text 808 389 hide original image ( default : off ); +#X obj 614 -145 gemhead; +#X obj 599 541 pix_texture; +#X obj 919 -153 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; @@ -84,31 +95,31 @@ to transform the contours of the shapes to be analyzed..; #X connect 9 0 6 0; #X connect 10 0 7 0; #X connect 10 2 9 0; -#X restore 43 84 pd gemwin; -#X msg 43 66 create; -#X obj 444 838 pix_texture; -#X obj 596 371 separator; -#X obj 727 71 bng 25 250 50 0 load empty empty 0 -6 0 8 -262144 -1 +#X restore 929 -109 pd gemwin; +#X msg 929 -127 create; +#X obj 447 541 pix_texture; +#X obj 599 184 separator; +#X obj 626 -118 bng 25 250 50 0 load empty empty 0 -6 0 8 -262144 -1 -1; -#X obj 784 246 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 +#X obj 683 57 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 -1 -1; -#X floatatom 766 211 5 0 10000 1 frame# - -; -#X obj 727 100 openpanel; -#X msg 727 120 open \$1; -#X obj 715 229 pix_film; -#X msg 733 163 auto \$1; -#X obj 733 145 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +#X floatatom 665 22 5 0 10000 1 frame# - -; +#X obj 626 -89 openpanel; +#X msg 626 -69 open \$1; +#X obj 614 40 pix_film; +#X msg 632 -26 auto \$1; +#X obj 632 -44 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; -#X text 41 46 Create window and render; -#X msg 828 146 colorspace RGBA; -#X msg 933 146 colorspace RGB; -#X msg 1037 146 colorspace Grey; -#X obj 828 118 loadbang; -#X obj 595 342 pix_separator; -#X obj 444 374 separator; -#X obj 444 345 pix_separator; -#X obj 444 409 translateXYZ -2 0 0; -#X obj 596 406 translateXYZ 2 0 0; +#X text 927 -147 Create window and render; +#X msg 727 -43 colorspace RGBA; +#X msg 733 -24 colorspace RGB; +#X msg 750 -1 colorspace Grey; +#X obj 727 -71 loadbang; +#X obj 599 155 pix_separator; +#X obj 447 187 separator; +#X obj 447 158 pix_separator; +#X obj 447 222 translateXYZ -2 0 0; +#X obj 599 219 translateXYZ 2 0 0; #N canvas 0 22 450 300 vswitch 0; #X obj 144 263 outlet; #X obj 36 26 inlet; @@ -137,139 +148,105 @@ to transform the contours of the shapes to be analyzed..; #X connect 11 0 8 0; #X connect 11 1 9 0; #X connect 11 1 6 0; -#X restore 536 267 pd vswitch; -#X obj 604 267 tgl 15 0 empty load empty 17 7 0 10 -262144 -1 -1 0 -1; -#X obj 478 39 gemhead; -#X msg 517 152 device 0; -#X msg 526 183 driver 1; -#X msg 503 98 dialog; -#X msg 508 128 device /dev/dv1394-0; -#X text 875 815 ( First contour ) Xorigin Yorigin Width Height; -#X text 752 648 min area in pixels (default 10x10); -#X text 840 664 max area in pixels (default 320x240); -#X obj 536 296 pix_resize 320 240; -#X text 790 528 maximum move of a countour ( default 20 ); -#X floatatom 762 432 5 0 0 0 - - -; -#X obj 596 439 pix_opencv_bgsubstract; -#X floatatom 802 872 5 0 0 0 - - -; -#X obj 1159 591 loadbang; -#X obj 802 848 *; -#X obj 802 891 s area; -#X msg 766 399 set; -#X text 800 401 reset background reference; -#X obj 969 943 timeroll; -#X obj 908 913 autoscale; -#X msg 963 891 0; -#X obj 602 685 pix_opencv_contours_boundingrect; -#X obj 478 227 pix_video; -#X obj 1243 910 autoscale; -#X msg 1298 888 0; -#X obj 1242 943 timeroll; -#X obj 1202 863 mean_n 25; -#X text 923 338 TODO ::: in some cases i want to reuse losts tags inmediately +#X restore 447 96 pd vswitch; +#X obj 515 96 tgl 15 0 empty load empty 17 7 0 10 -262144 -1 -1 0 1 +; +#X obj 447 -150 gemhead; +#X msg 486 -37 device 0; +#X msg 495 -6 driver 1; +#X msg 472 -91 dialog; +#X msg 477 -61 device /dev/dv1394-0; +#X text 843 581 ( First contour ) Xorigin Yorigin Width Height; +#X text 728 463 min area in pixels (default 10x10); +#X text 825 479 max area in pixels (default 320x240); +#X obj 447 116 pix_resize 320 240; +#X text 787 341 maximum move of a countour ( default 20 ); +#X floatatom 765 245 5 0 0 0 - - -; +#X obj 599 252 pix_opencv_bgsubstract; +#X obj 527 394 loadbang; +#X msg 769 212 set; +#X text 803 214 reset background reference; +#X obj 599 498 pix_opencv_contours_boundingrect; +#X obj 447 38 pix_video; +#X text 16 268 TODO ::: in some cases i want to reuse losts tags inmediately \, a message to do it is needed; -#X msg 927 890 240; -#X msg 1262 887 240; -#X text 924 297 KNOWN BUGS :: in some input data all the blobs are -tagged with 0 label (if maxmove is very high????) ... if i put maxmove -to zero blobs are tagged in a crazy way....; -#X obj 749 988 -; -#X msg 723 958 240; -#X obj 723 934 t b; -#X msg 1162 624 50; -#X obj 834 431 loadbang; -#X msg 799 433 50; -#X obj 531 320 pix_rgba; -#X obj 443 919 square 2; -#X obj 595 914 square 2; -#X obj 1199 819 loadbang; -#X connect 1 0 84 1; -#X connect 2 0 84 2; -#X connect 4 0 94 1; -#X connect 4 0 96 0; -#X connect 5 0 77 0; -#X connect 6 0 77 1; -#X connect 7 0 3 0; -#X connect 7 1 4 0; -#X connect 7 2 5 0; -#X connect 7 3 6 0; -#X connect 8 0 7 0; -#X connect 11 0 84 0; -#X connect 12 0 11 0; -#X connect 14 0 16 0; -#X connect 16 0 84 0; -#X connect 17 0 84 0; -#X connect 18 0 17 0; -#X connect 19 0 20 0; -#X connect 20 0 84 0; -#X connect 27 0 84 0; -#X connect 28 0 27 0; -#X connect 29 0 31 0; -#X connect 30 0 33 0; -#X connect 31 0 84 0; -#X connect 33 0 84 0; -#X connect 36 0 48 0; -#X connect 37 0 102 0; -#X connect 39 0 40 0; -#X connect 40 0 39 0; -#X connect 41 0 101 0; -#X connect 42 0 60 0; -#X connect 43 0 46 0; -#X connect 44 0 45 0; -#X connect 45 0 48 1; +#X text 17 227 KNOWN BUGS :: in some input data all the blobs are tagged +with 0 label (if maxmove is very high????) ... if i put maxmove to +zero blobs are tagged in a crazy way....; +#X msg 527 414 50; +#X obj 837 244 loadbang; +#X msg 802 246 50; +#X obj 447 135 pix_rgba; +#X obj 447 561 square 2; +#X obj 599 561 square 2; +#X text 16 308 See also pix_opencv_contour_convexhull that output also +a contour rotation; +#X text 8 -153 Synopsis: [pix_opencv_contours_boundingrect]; +#X connect 8 0 85 1; +#X connect 9 0 85 2; +#X connect 14 0 10 0; +#X connect 14 1 11 0; +#X connect 14 2 12 0; +#X connect 14 3 13 0; +#X connect 15 0 14 0; +#X connect 18 0 85 0; +#X connect 19 0 18 0; +#X connect 21 0 23 0; +#X connect 23 0 85 0; +#X connect 24 0 85 0; +#X connect 25 0 24 0; +#X connect 26 0 27 0; +#X connect 27 0 85 0; +#X connect 34 0 85 0; +#X connect 35 0 34 0; +#X connect 36 0 38 0; +#X connect 37 0 40 0; +#X connect 38 0 85 0; +#X connect 40 0 85 0; +#X connect 43 0 55 0; +#X connect 44 0 94 0; #X connect 46 0 47 0; -#X connect 47 0 48 0; -#X connect 48 0 61 1; -#X connect 48 2 44 0; -#X connect 49 0 48 0; -#X connect 50 0 49 0; -#X connect 52 0 48 0; -#X connect 52 0 85 0; -#X connect 53 0 48 0; -#X connect 54 0 48 0; -#X connect 55 0 52 0; -#X connect 55 0 50 0; -#X connect 56 0 42 0; -#X connect 57 0 59 0; -#X connect 58 0 57 0; -#X connect 59 0 41 0; -#X connect 60 0 74 0; -#X connect 61 0 71 0; -#X connect 62 0 61 2; -#X connect 63 0 85 0; -#X connect 64 0 85 0; -#X connect 65 0 85 0; -#X connect 66 0 85 0; -#X connect 67 0 85 0; -#X connect 71 0 100 0; -#X connect 73 0 74 1; -#X connect 74 0 84 0; -#X connect 75 0 78 0; -#X connect 76 0 97 0; -#X connect 77 0 75 0; -#X connect 79 0 74 0; -#X connect 82 0 81 0; -#X connect 83 0 82 0; -#X connect 84 0 37 0; -#X connect 84 1 8 0; -#X connect 84 2 25 0; -#X connect 85 0 61 0; -#X connect 86 0 88 0; -#X connect 87 0 86 0; -#X connect 89 0 86 0; -#X connect 91 0 82 0; -#X connect 92 0 86 0; -#X connect 94 0 82 0; -#X connect 94 0 89 0; -#X connect 95 0 94 0; -#X connect 96 0 95 0; -#X connect 97 0 1 0; -#X connect 98 0 99 0; -#X connect 99 0 73 0; -#X connect 100 0 58 0; -#X connect 100 0 56 0; -#X connect 103 0 91 0; -#X connect 103 0 83 0; -#X connect 103 0 92 0; -#X connect 103 0 87 0; +#X connect 47 0 46 0; +#X connect 48 0 93 0; +#X connect 49 0 67 0; +#X connect 50 0 53 0; +#X connect 51 0 52 0; +#X connect 52 0 55 1; +#X connect 53 0 54 0; +#X connect 54 0 55 0; +#X connect 55 0 68 1; +#X connect 55 2 51 0; +#X connect 56 0 55 0; +#X connect 57 0 56 0; +#X connect 59 0 55 0; +#X connect 59 0 86 0; +#X connect 60 0 55 0; +#X connect 61 0 55 0; +#X connect 62 0 59 0; +#X connect 62 0 57 0; +#X connect 63 0 49 0; +#X connect 64 0 66 0; +#X connect 65 0 64 0; +#X connect 66 0 48 0; +#X connect 67 0 81 0; +#X connect 68 0 78 0; +#X connect 69 0 68 2; +#X connect 70 0 86 0; +#X connect 71 0 86 0; +#X connect 72 0 86 0; +#X connect 73 0 86 0; +#X connect 74 0 86 0; +#X connect 78 0 92 0; +#X connect 80 0 81 1; +#X connect 81 0 85 0; +#X connect 82 0 89 0; +#X connect 83 0 81 0; +#X connect 85 0 44 0; +#X connect 85 1 15 0; +#X connect 85 2 32 0; +#X connect 86 0 68 0; +#X connect 89 0 8 0; +#X connect 90 0 91 0; +#X connect 91 0 80 0; +#X connect 92 0 65 0; +#X connect 92 0 63 0; -- cgit v1.2.1