From ba994f4404b6eadcab4e0ead46ef4d3ffeceb024 Mon Sep 17 00:00:00 2001 From: Antoine Villeret Date: Thu, 10 Jul 2014 14:39:22 +0000 Subject: lots of changes ! 1. switch to a new build system based on automake (because we need to check for some lib on ./configure before make) 2. sort files in different directory 3. add some new features (some of them need OpenCV >= 2.4.5) svn path=/trunk/externals/pix_opencv/; revision=17324 --- help/pix_opencv_contours-help.pd | 731 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 731 insertions(+) create mode 100644 help/pix_opencv_contours-help.pd (limited to 'help/pix_opencv_contours-help.pd') diff --git a/help/pix_opencv_contours-help.pd b/help/pix_opencv_contours-help.pd new file mode 100644 index 0000000..f14f0f8 --- /dev/null +++ b/help/pix_opencv_contours-help.pd @@ -0,0 +1,731 @@ +#N canvas 849 245 794 766 10; +#X declare -lib pix_opencv; +#X obj 472 35 cnv 15 300 500 empty empty empty 20 12 0 14 -228992 -66577 +0; +#X obj 11 56 cnv 15 450 200 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X obj 11 307 cnv 15 450 380 empty empty empty 20 12 0 14 -233017 -66577 +0; +#X text 13 315 Inlets:; +#X obj 11 267 cnv 15 450 30 empty empty empty 20 12 0 14 -195568 -66577 +0; +#X text 20 266 Arguments:; +#X text 12 436 Outlets:; +#X text 478 20 Example:; +#X text 58 21 Class: pix_opencv; +#X text 11 60 Description: finds contours; +#X text 66 276 none; +#X text 30 349 Inlet 1: message: epsilon [float]; +#X obj 353 315 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577 +0; +#N canvas 1 122 450 300 gemwin 0; +#X obj 132 156 gemwin; +#X obj 67 89 outlet; +#X obj 67 10 inlet; +#X obj 67 41 route create; +#X msg 67 70 set destroy; +#X msg 142 68 set create; +#X msg 198 112 destroy; +#X msg 132 132 reset \, dimen 640 480 \, create \, 1; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 3 0 7 0; +#X connect 3 1 5 0; +#X connect 3 1 6 0; +#X connect 4 0 1 0; +#X connect 5 0 1 0; +#X connect 6 0 0 0; +#X connect 7 0 0 0; +#X restore 358 354 pd gemwin; +#X msg 358 335 destroy; +#X text 354 314 Create window:; +#X text 30 329 Inlet 1: binarized image; +#X text 30 589 <2> +; +#X text 25 447 Outlet 1: gemlist output; +#X text 37 5 Synopsis: [pix_opencv_contours]; +#X text 21 578 contour (for each of them); +#X text 37 75 [pix_opencv_contours] finds contours in incomming image +\, simplifies it according to the epsilon value and outputs contours +with area greater than a threshold.; +#X text 30 339 Inlet 1: message: area threshold [float]; +#X text 25 457 Outlet 2: contour \, convexhull and convexity defect +output; +#X text 37 126 contrary to [pix_opencv_contour_convexhull] \, [pix_opencv_contours] +outputs all contours found not only the biggest.; +#X text 37 175 it can also output rotated bounding rectangle \, convexhull +and cenvexity defects; +#X text 37 215 you can choose the hierarchy level of output contour +; +#X text 37 235 so this external replaces all old pix_opencv_contours_* +; +#X text 30 619 <2> +; +#X text 21 606 convexhull (for each contour); +#X text 20 637 convexixitydefects (for each contour); +#X text 30 649 <7> depth; +#X text 26 699 by antoine villeret - 2012; +#X text 16 719 bug \, feedback \, comment... on the pd-list; +#X obj 476 193 cnv 15 280 80 empty empty empty 20 12 0 14 -4034 -66577 +0; +#X obj 541 151 pix_texture; +#X obj 487 76 t b a a; +#X obj 487 57 gemhead 1; +#X msg 542 214 epsilon \$1; +#X floatatom 542 197 5 0 0 0 - - -, f 5; +#X obj 625 121 loadbang; +#X obj 541 171 rectangle 5.333 4; +#X obj 514 116 t a a; +#X msg 617 214 area \$1; +#X floatatom 617 197 5 0 0 0 - - -, f 5; +#X msg 659 142 10; +#X msg 625 141 2; +#N canvas 1167 234 474 845 draw_rotrect 0; +#X obj 71 506 GEMglVertex2d; +#X obj 71 586 GEMglVertex2d; +#X obj 71 666 GEMglVertex2d; +#X obj 71 746 GEMglVertex2d; +#X obj 71 766 GEMglEnd; +#X obj 71 277 alpha; +#X obj 143 178 list split 1; +#X obj 71 420 GEMglBegin GL_LINE_LOOP; +#X obj 177 198 list split 8; +#X msg 363 324 0 0 0 0 0 0 0 0; +#X obj 32 -8 inlet INFO; +#X obj 71 256 gemhead; +#X obj 15 147 loadbang; +#X msg 15 168 0; +#X obj 71 52 t b a b; +#X obj 211 504 list split 2; +#X obj 177 448 list split 2; +#X obj 137 472 unpack; +#X obj 211 525 unpack; +#X obj 245 564 list split 2; +#X obj 245 585 unpack; +#X obj 279 664 list split 2; +#X obj 279 685 unpack; +#X obj 90 84 list split 2; +#X obj 95 154 list append; +#X obj 292 81 t b; +#X obj 32 32 route 0; +#X floatatom 342 463 5 0 0 0 - - -, f 5; +#X obj 342 442 list length; +#X obj 71 400 GEMglLineWidth 1; +#X obj 71 327 translateXYZ -5.3333 4 0; +#X obj 71 361 scaleXYZ 10.6666 -8 0; +#X obj 124 107 list split 20; +#X obj 71 302 color 1 1 0 1; +#X obj 124 128 t b b a; +#X obj 32 13 route info; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 5 0 33 0; +#X connect 6 1 8 0; +#X connect 7 0 0 0; +#X connect 8 0 16 0; +#X connect 9 0 16 0; +#X connect 10 0 35 0; +#X connect 11 0 5 0; +#X connect 12 0 13 0; +#X connect 13 0 11 0; +#X connect 14 1 23 0; +#X connect 14 2 25 0; +#X connect 15 0 18 0; +#X connect 15 1 19 0; +#X connect 16 0 17 0; +#X connect 16 1 15 0; +#X connect 17 0 0 1; +#X connect 17 1 0 2; +#X connect 18 0 1 1; +#X connect 18 1 1 2; +#X connect 19 0 20 0; +#X connect 19 1 21 0; +#X connect 20 0 2 1; +#X connect 20 1 2 2; +#X connect 21 0 22 0; +#X connect 22 0 3 1; +#X connect 22 1 3 2; +#X connect 23 1 32 0; +#X connect 24 0 32 0; +#X connect 25 0 9 0; +#X connect 26 1 14 0; +#X connect 28 0 27 0; +#X connect 29 0 7 0; +#X connect 30 0 31 0; +#X connect 31 0 29 0; +#X connect 32 0 34 0; +#X connect 32 1 24 1; +#X connect 33 0 30 0; +#X connect 34 0 24 0; +#X connect 34 1 11 0; +#X connect 34 2 6 0; +#X connect 34 2 28 0; +#X connect 35 0 26 0; +#X restore 658 323 pd draw_rotrect; +#X obj 487 240 pix_opencv_contours; +#N canvas 955 337 674 695 drawdefects 0; +#X obj 191 301 gemhead; +#X obj 134 217 loadbang; +#X msg 134 238 0; +#X obj 210 116 list split 2; +#X obj 215 186 list append; +#X obj 191 375 scaleXYZ 10.6666 -8 0; +#X obj 244 160 t b b a; +#X obj 210 76 inlet DEFECTS; +#X obj 210 96 route convexitydefects; +#X obj 244 139 list split 7; +#X obj 191 335 color 1 0 0 1; +#X obj 191 355 translateXYZ -5.3333 4 0; +#N canvas 895 575 739 379 ortho_point 0; +#X obj 192 7 inlet; +#X obj 192 57 t a a; +#X obj 204 238 *; +#X obj 174 238 *; +#X obj 114 124 unpack 0 0 0 0; +#X obj 114 279 +; +#X obj 154 279 +; +#X obj 114 340 outlet; +#X obj 174 320 outlet; +#X obj 153 198 -; +#X msg 153 178 1 \$1; +#X obj 144 238 *; +#X obj 114 238 *; +#X obj 219 84 list split 6; +#X text 519 123 dot product; +#X floatatom 244 163 5 0 0 0 - - -, f 5; +#X obj 300 29 t b; +#X msg 343 68 0 1 1 1 0.5 0.5; +#X obj 219 124 expr abs(($f3-$f1)*($f6-$f2)+($f4-$f2)*($f5-$f1)); +#X obj 302 158 expr $f1*sqrt(10.666*8); +#X connect 0 0 1 0; +#X connect 1 0 4 0; +#X connect 1 1 13 0; +#X connect 2 0 6 1; +#X connect 3 0 5 1; +#X connect 4 0 12 0; +#X connect 4 1 11 0; +#X connect 4 2 3 0; +#X connect 4 3 2 0; +#X connect 5 0 7 0; +#X connect 6 0 8 0; +#X connect 9 0 11 1; +#X connect 9 0 12 1; +#X connect 10 0 9 0; +#X connect 11 0 6 0; +#X connect 12 0 5 0; +#X connect 13 0 18 0; +#X connect 16 0 17 0; +#X connect 17 0 1 0; +#X connect 18 0 15 0; +#X connect 18 0 19 0; +#X connect 19 0 2 1; +#X connect 19 0 3 1; +#X connect 19 0 10 0; +#X restore 328 515 pd ortho_point; +#X obj 191 475 translateXYZ 10.6666 -8 0; +#X msg 240 451 \$5; +#X msg 289 451 \$6; +#X obj 191 556 circle 0.01; +#X msg 204 530 draw line; +#X obj 204 506 loadbang; +#X obj 354 369 t a; +#X connect 0 0 10 0; +#X connect 1 0 2 0; +#X connect 2 0 0 0; +#X connect 3 1 9 0; +#X connect 4 0 9 0; +#X connect 5 0 13 0; +#X connect 6 0 4 0; +#X connect 6 1 0 0; +#X connect 6 2 19 0; +#X connect 7 0 8 0; +#X connect 8 0 3 0; +#X connect 9 0 6 0; +#X connect 9 1 4 1; +#X connect 10 0 11 0; +#X connect 11 0 5 0; +#X connect 13 0 16 0; +#X connect 14 0 13 1; +#X connect 15 0 13 2; +#X connect 17 0 16 0; +#X connect 18 0 17 0; +#X connect 19 0 15 0; +#X connect 19 0 14 0; +#X restore 542 294 pd drawdefects; +#N canvas 168 587 1126 291 options 0; +#X obj 57 147 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#X msg 57 167 contours \$1; +#X obj 57 251 outlet; +#X obj 147 147 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 247 147 tgl 15 1 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X msg 147 167 convexhulls \$1; +#X msg 247 167 convexitydefects \$1; +#X text 25 37 set hierarchy level (which contour to send out); +#X obj 24 83 nbx 5 14 -2 1e+37 0 1 empty empty empty 0 -8 0 10 -262144 +-1 -1 -1 256; +#X msg 24 100 hierarchy_level \$1; +#X text 71 125 send out different kind of infos (all on by default) +:; +#X text 25 47 -1 for all contours (default); +#X msg 559 168 settab drawX drawY drawZ; +#X obj 558 200 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X msg 558 229 taboutput \$1; +#X text 550 71 first set some tables (they are dynamically resized) +; +#X text 550 151 tell it what tables to use; +#X text 582 200 enable disable table output (automatically enable when +ou set table); +#X text 569 256 see [pd draw_contour_gemvertexbuffer] for an example +of drawing contours; +#N canvas 789 194 596 300 draw_contour_gemvertexbuffer 0; +#X obj 175 173 loadbang; +#X obj 135 65 translateXYZ -0.5 -0.5 0; +#X obj 135 42 scaleXYZ 10.6666 -8 1; +#X obj 135 87 t a b; +#X obj 135 -9 gemhead 1000; +#X obj 135 17 alpha 0; +#X msg 161 130 posX drawX \, posY drawY \, colorG drawZ \, colorA drawZ +; +#X msg 175 193 draw line; +#X obj 135 245 gemvertexbuffer; +#X obj 161 108 inlet; +#X obj 269 174 r point_number; +#X msg 269 201 resize \$1; +#X floatatom 342 206 5 0 0 0 - - -, f 5; +#X connect 0 0 7 0; +#X connect 1 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 8 0; +#X connect 3 1 6 0; +#X connect 4 0 5 0; +#X connect 5 0 2 0; +#X connect 6 0 8 0; +#X connect 7 0 8 0; +#X connect 9 0 6 0; +#X connect 10 0 11 0; +#X connect 10 0 12 0; +#X connect 11 0 8 0; +#X restore 797 147 pd draw_contour_gemvertexbuffer; +#X obj 797 126 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X text 813 127 draw with gemvertexbuffer; +#X msg 379 80 repeat_point \$1; +#X floatatom 379 62 5 0 0 0 - - -, f 5; +#X text 348 47 repeat the first point n times; +#X msg 383 167 cvblobOutput \$1; +#X obj 383 148 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X text 25 57 -2 for only contours with no child (aka holes); +#X obj 564 89 table drawX 1000; +#X obj 564 109 table drawY 1000; +#X obj 564 129 table drawZ 1000; +#X text 543 5 to improve performance and avoid "stack overflow" (because +contours could have a huge number of points) you can use table output +instead of list output; +#X connect 0 0 1 0; +#X connect 1 0 2 0; +#X connect 3 0 5 0; +#X connect 4 0 6 0; +#X connect 5 0 2 0; +#X connect 6 0 2 0; +#X connect 8 0 9 0; +#X connect 9 0 2 0; +#X connect 12 0 2 0; +#X connect 13 0 14 0; +#X connect 14 0 2 0; +#X connect 20 0 19 0; +#X connect 22 0 2 0; +#X connect 23 0 22 0; +#X connect 25 0 2 0; +#X connect 26 0 25 0; +#X restore 674 213 pd options; +#X text 489 347 color legend :; +#X text 522 364 yellow = bounding box; +#X text 528 374 green = contour; +#X text 534 385 blue = convexhull; +#X text 534 397 pink = convexhull edge with defects; +#X text 540 409 red = farthest point from convexhull; +#N canvas 630 223 621 734 draw_contours 0; +#X obj 178 132 list split 2; +#X obj 170 593 GEMglEnd; +#X obj 300 590 GEMglVertex2d; +#X obj 212 263 list append; +#X obj 241 237 t b a; +#X obj 241 216 list split 2; +#X obj 341 495 unpack; +#X obj 310 257 t b a; +#X obj -101 364 color 1 0 0 1; +#X obj 405 545 * -8; +#X obj 405 565 + 4; +#X obj -101 422 GEMglLineWidth 2; +#X obj 341 545 * 10.6666; +#X obj 341 565 - 5.33333; +#X obj 170 564 gemlist; +#X obj 300 421 gemlist; +#X obj -62 242 gemhead; +#X obj -62 187 loadbang; +#X msg -62 208 0; +#X obj 133 161 unpack 0 0; +#X floatatom 133 182 5 0 0 0 nb_of_segments - -, f 5; +#X obj 107 -65 inlet CONTOUR; +#X obj -101 334 gemlist; +#X obj 212 159 t b a b b; +#X obj 106 -44 route convexhull contour convexitydefects; +#X obj 187 1 t a b; +#X msg -17 320 0 0 1 1; +#X msg -25 299 0 1 0 1; +#X obj 106 0 t a b; +#X obj 268 1 list split 2; +#X obj 290 96 list append; +#X obj 319 76 t b a; +#X obj 302 28 t b a b b; +#X obj 268 -19 t a b; +#X msg -7 340 1 0 1 1; +#X obj 319 55 list split 7; +#X obj 346 116 list split 4; +#X obj -101 459 GEMglBegin GL_LINE_LOOP; +#X obj -115 -62 inlet; +#X obj -115 -40 t a a a; +#X connect 0 0 19 0; +#X connect 0 1 23 0; +#X connect 2 0 14 1; +#X connect 3 0 5 0; +#X connect 4 0 3 0; +#X connect 4 1 7 0; +#X connect 5 0 4 0; +#X connect 5 1 3 1; +#X connect 6 0 12 0; +#X connect 6 1 9 0; +#X connect 7 0 15 0; +#X connect 7 1 6 0; +#X connect 8 0 11 0; +#X connect 9 0 10 0; +#X connect 10 0 2 2; +#X connect 11 0 37 0; +#X connect 12 0 13 0; +#X connect 13 0 2 1; +#X connect 14 0 1 0; +#X connect 15 0 2 0; +#X connect 17 0 18 0; +#X connect 18 0 16 0; +#X connect 19 0 20 0; +#X connect 21 0 24 0; +#X connect 22 0 8 0; +#X connect 23 0 14 0; +#X connect 23 1 5 0; +#X connect 23 2 22 0; +#X connect 23 3 16 0; +#X connect 24 0 28 0; +#X connect 24 1 25 0; +#X connect 24 2 33 0; +#X connect 25 0 0 0; +#X connect 25 1 27 0; +#X connect 26 0 8 1; +#X connect 27 0 8 1; +#X connect 28 0 0 0; +#X connect 28 1 26 0; +#X connect 29 1 32 0; +#X connect 30 0 35 0; +#X connect 31 0 30 0; +#X connect 31 1 36 0; +#X connect 32 1 35 0; +#X connect 33 0 29 0; +#X connect 33 1 34 0; +#X connect 34 0 8 1; +#X connect 35 0 31 0; +#X connect 35 1 30 1; +#X connect 36 0 23 0; +#X connect 37 0 15 1; +#X connect 38 0 39 0; +#X connect 39 0 22 1; +#X restore 504 513 pd draw_contours; +#N canvas 13 321 1198 730 info 0; +#X obj -67 115 cnv 15 250 40 empty empty empty 20 12 0 14 -4034 -66577 +0; +#X obj -68 292 cnv 15 350 20 empty empty empty 20 12 0 14 -4034 -66577 +0; +#X obj 14 332 cnv 15 300 20 empty empty empty 20 12 0 14 -4034 -66577 +0; +#X obj 282 -59 cnv 15 100 40 empty empty empty 20 12 0 14 -4034 -66577 +0; +#X obj 51 497 cnv 15 330 50 empty empty empty 20 12 0 14 -4034 -66577 +0; +#X obj 225 16 inlet; +#X obj 225 67 list split 2; +#X obj 259 137 list split 20; +#X text 309 70 cut matrix header; +#X text 346 98 cut infos for the 1st contour; +#X text -55 294 rotated rectangle center point (normalized); +#X obj 211 224 list split 2; +#X obj 245 314 unpack; +#X floatatom 245 334 5 0 0 0 - - -, f 5; +#X floatatom 278 334 5 0 0 0 - - -, f 5; +#X obj 245 244 list split 2; +#X text 29 334 rotated rectangle size (normalized); +#X obj 313 384 list split 8; +#X floatatom 304 -37 5 0 0 0 - - -, f 5; +#X obj 304 -18 * 20; +#X obj 304 4 + 2; +#X text 284 -55 selected contour; +#X obj 116 96 unpack; +#X floatatom 116 117 5 0 0 0 - - -, f 5; +#X floatatom 149 138 5 0 0 0 - - -, f 5; +#X text -52 114 number of detected contours; +#X text -61 137 numbers of values for each contour; +#X obj 313 404 list prepend set; +#X obj 313 424 list trim; +#X msg 54 513 0.681584 0.808552 0.679688 0.789583 0.704353 0.785198 +0.70625 0.804167; +#X text 59 495 rotrect corners coordinates; +#X obj 570 153 list split 20; +#X obj 570 175 t b a; +#X obj 617 222 list; +#X msg 597 259 \$15; +#X obj 597 281 +; +#X obj 625 281 f; +#X msg 620 122 0; +#X obj 582 303 f; +#X obj 551 119 t b a b; +#X floatatom 582 325 5 0 0 0 - - -, f 5; +#X text 445 323 total number of points; +#X obj 177 194 list split 1; +#X obj -140 220 cnv 15 350 20 empty empty empty 20 12 0 14 -4034 -66577 +0; +#X floatatom 177 223 5 0 0 0 - - -, f 5; +#X text 24 223 id in the detection order; +#X obj 26 405 cnv 15 250 20 empty empty empty 20 12 0 14 -4034 -66577 +0; +#X text 30 408 rotated rectangle angle (degrees); +#X obj 279 364 list split 2; +#X obj 211 274 unpack; +#X floatatom 211 294 5 0 0 0 - - -, f 5; +#X floatatom 244 294 5 0 0 0 - - -, f 5; +#X obj 240 387 unpack; +#X floatatom 240 407 5 0 0 0 - - -, f 5; +#X obj 26 435 cnv 15 250 20 empty empty empty 20 12 0 14 -4034 -66577 +0; +#X floatatom 240 437 5 0 0 0 - - -, f 5; +#X text 30 438 area in % of image area; +#X obj 199 570 cnv 15 250 80 empty empty empty 20 12 0 14 -4034 -66577 +0; +#X floatatom 347 595 5 0 0 0 - - -, f 5; +#X floatatom 381 615 5 0 0 0 - - -, f 5; +#X text 203 614 length of contour (in pixels); +#X text 247 595 number of points; +#X obj 347 575 unpack f f; +#X obj 225 38 route cvblob count; +#X obj 736 107 unpack f f; +#X floatatom 736 129 5 0 0 0 - - -, f 5; +#X floatatom 793 130 5 0 0 0 - - -, f 5; +#X obj 776 195 s point_number; +#X text 723 144 contours; +#X text 797 145 points; +#X text 690 160 total counts of contours and points; +#X connect 5 0 63 0; +#X connect 6 0 22 0; +#X connect 6 1 7 0; +#X connect 6 1 39 0; +#X connect 7 0 42 0; +#X connect 11 0 49 0; +#X connect 11 1 15 0; +#X connect 12 0 13 0; +#X connect 12 1 14 0; +#X connect 15 0 12 0; +#X connect 15 1 48 0; +#X connect 17 0 27 0; +#X connect 17 1 62 0; +#X connect 18 0 19 0; +#X connect 19 0 20 0; +#X connect 20 0 6 1; +#X connect 22 0 23 0; +#X connect 22 1 24 0; +#X connect 22 1 19 1; +#X connect 22 1 7 1; +#X connect 27 0 28 0; +#X connect 28 0 29 0; +#X connect 31 0 32 0; +#X connect 31 1 33 1; +#X connect 32 0 33 0; +#X connect 32 1 34 0; +#X connect 33 0 31 0; +#X connect 34 0 35 0; +#X connect 35 0 36 0; +#X connect 35 0 38 1; +#X connect 36 0 35 1; +#X connect 37 0 35 1; +#X connect 38 0 40 0; +#X connect 39 0 38 0; +#X connect 39 1 31 0; +#X connect 39 2 37 0; +#X connect 42 0 44 0; +#X connect 42 1 11 0; +#X connect 48 0 52 0; +#X connect 48 1 17 0; +#X connect 49 0 50 0; +#X connect 49 1 51 0; +#X connect 52 0 53 0; +#X connect 52 1 55 0; +#X connect 62 0 58 0; +#X connect 62 1 59 0; +#X connect 63 0 6 0; +#X connect 63 1 64 0; +#X connect 64 0 65 0; +#X connect 64 1 66 0; +#X connect 64 1 67 0; +#X restore 675 294 pd info; +#X text 29 498 20 +0 0 0 0; +#X obj 554 32 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X text 30 369 Inlet 1: message: contours <0|1>; +#X text 30 379 Inlet 1: message: convexhull <0|1>; +#X text 30 389 Inlet 1: message: convexitydefects <0|1>; +#X text 30 399 Inlet 1: message: settab tabname1 tabname2 tabname3 +; +#X text 30 409 Inlet 1: message: taboutput <0|1>; +#X text 30 359 Inlet 1: message: hierarchy_level [float]; +#X obj 514 96 pix_image examples/dessin.tif; +#N canvas 865 237 931 731 cvblob 0; +#X obj 87 321 gemlist; +#X obj 87 301 t b a; +#X obj 328 306 list append; +#X obj 323 198 list split 2; +#X obj 323 142 list append; +#X obj 99 108 t b a; +#X obj 357 280 t b a; +#X obj 87 511 translateXYZ; +#X msg 228 354 \$2; +#X obj 87 361 alpha 1; +#X obj 87 471 translateXYZ -0.5 -0.5 0; +#X obj 87 535 scaleXYZ 0.125 0.25 0; +#X msg 267 354 \$3; +#X msg 242 468 \$4; +#X obj 271 333 t a a; +#X obj 87 581 circle 0.5; +#X obj 87 431 color 1 0 0 0.2; +#X obj 87 341 separator; +#X msg 307 504 \$1; +#X obj 87 621 color 1 1 0 1; +#X obj 357 246 list split 6; +#X msg 426 194 \$2; +#X obj 174 627 loadbang; +#X msg 174 646 12; +#X msg 329 382 \$6; +#X obj 329 404 > 0; +#X obj 329 425 sel 1 0; +#X msg 328 446 1 0 0 0.2; +#X msg 348 466 0 1 0 0.2; +#X obj 87 601 translateXYZ 0.2 0.2 0; +#X text 547 280 here is an example on how to display blobs with Gem +; +#X obj 87 451 scaleXYZ 10.666 -8 0; +#X obj 87 682 text2d; +#X text 452 195 <- be careful ! the size of the cvblob matrix could +change; +#X text 534 212 please check second element to gets matrix width (number +of value per blob); +#X obj 323 164 t a a; +#X obj 386 11 inlet cvblob; +#X obj 386 33 route cvblob; +#X obj 240 490 sqrt; +#X obj 99 83 spigot; +#X obj 386 55 t a a; +#X msg 413 77 \$1; +#X floatatom 413 99 5 0 0 0 - - -, f 5; +#X obj 99 19 inlet; +#X connect 0 0 17 0; +#X connect 1 0 0 0; +#X connect 1 1 14 0; +#X connect 2 0 20 0; +#X connect 3 1 20 0; +#X connect 4 0 35 0; +#X connect 5 0 4 0; +#X connect 5 1 0 1; +#X connect 6 0 2 0; +#X connect 6 1 1 0; +#X connect 7 0 11 0; +#X connect 8 0 7 1; +#X connect 9 0 16 0; +#X connect 10 0 7 0; +#X connect 11 0 15 0; +#X connect 12 0 7 2; +#X connect 13 0 38 0; +#X connect 14 0 12 0; +#X connect 14 0 8 0; +#X connect 14 1 13 0; +#X connect 14 1 18 0; +#X connect 14 1 24 0; +#X connect 15 0 29 0; +#X connect 16 0 31 0; +#X connect 17 0 9 0; +#X connect 18 0 32 0; +#X connect 19 0 32 0; +#X connect 20 0 6 0; +#X connect 20 1 2 1; +#X connect 21 0 20 1; +#X connect 22 0 23 0; +#X connect 23 0 32 1; +#X connect 24 0 25 0; +#X connect 25 0 26 0; +#X connect 26 0 27 0; +#X connect 26 1 28 0; +#X connect 27 0 16 1; +#X connect 28 0 16 1; +#X connect 29 0 19 0; +#X connect 31 0 10 0; +#X connect 35 0 3 0; +#X connect 35 1 21 0; +#X connect 36 0 37 0; +#X connect 37 0 40 0; +#X connect 38 0 11 1; +#X connect 38 0 11 2; +#X connect 39 0 5 0; +#X connect 40 0 4 1; +#X connect 40 1 41 0; +#X connect 41 0 42 0; +#X connect 41 0 39 1; +#X connect 43 0 39 0; +#X restore 664 365 pd cvblob; +#X text 506 492 WARNING ! this crashes; +#X text 20 488 cvblob; +#X text 25 467 Outlet 3: info output; +#X text 20 558 count ; +#X text 612 516 fix me !; +#X obj 487 171 pix_rgba; +#X obj 487 141 pix_video; +#X obj 532 603 declare -lib pix_opencv; +#X connect 13 0 14 0; +#X connect 14 0 13 0; +#X connect 35 0 41 0; +#X connect 36 0 75 0; +#X connect 36 1 67 0; +#X connect 37 0 36 0; +#X connect 38 0 48 0; +#X connect 39 0 38 0; +#X connect 40 0 46 0; +#X connect 40 0 45 0; +#X connect 42 0 75 0; +#X connect 42 1 35 0; +#X connect 43 0 48 0; +#X connect 44 0 43 0; +#X connect 45 0 44 0; +#X connect 46 0 39 0; +#X connect 48 0 68 0; +#X connect 48 1 49 0; +#X connect 48 2 68 1; +#X connect 48 2 47 0; +#X connect 48 2 58 0; +#X connect 50 0 48 0; +#X connect 60 0 37 0; +#X connect 67 0 42 0; +#X connect 74 0 48 0; +#X connect 75 0 74 0; -- cgit v1.2.1