diff options
author | lluís gómez i bigordà <lluisbigorda@users.sourceforge.net> | 2009-09-18 16:28:27 +0000 |
---|---|---|
committer | lluís gómez i bigordà <lluisbigorda@users.sourceforge.net> | 2009-09-18 16:28:27 +0000 |
commit | b7b82f9bd8cf4abe4eefd02e692aa68f10a192c9 (patch) | |
tree | 3a6621d86cff2ed888dee1afecc03742fa2d8525 | |
parent | 85d2780b2b47a729612ea9ac061600bf663ca7e5 (diff) |
some improvements in the help patches
svn path=/trunk/externals/pix_opencv/; revision=12395
-rw-r--r-- | pix_opencv_athreshold-help.pd | 175 | ||||
-rw-r--r-- | pix_opencv_bgsubstract-help.pd | 211 | ||||
-rw-r--r-- | pix_opencv_camshift-help.pd | 291 | ||||
-rw-r--r-- | pix_opencv_contours_boundingrect-help.pd | 348 | ||||
-rw-r--r-- | pix_opencv_contours_convexhull-help.pd | 244 | ||||
-rw-r--r-- | pix_opencv_contours_convexity-help.pd | 357 | ||||
-rw-r--r-- | pix_opencv_dft-help.pd | 189 | ||||
-rw-r--r-- | pix_opencv_distrans-help.pd | 199 | ||||
-rw-r--r-- | pix_opencv_edge-help.pd | 153 | ||||
-rw-r--r-- | pix_opencv_floodfill-help.pd | 275 | ||||
-rw-r--r-- | pix_opencv_haarcascade-help.pd | 329 | ||||
-rw-r--r-- | pix_opencv_hist_compare-help.pd | 227 | ||||
-rw-r--r-- | pix_opencv_hough_circles-help.pd | 277 | ||||
-rw-r--r-- | pix_opencv_hough_lines-help.pd | 316 | ||||
-rw-r--r-- | pix_opencv_hu_compare-help.pd | 65 | ||||
-rw-r--r-- | pix_opencv_laplace-help.pd | 185 | ||||
-rw-r--r-- | pix_opencv_lk-help.pd | 395 | ||||
-rw-r--r-- | pix_opencv_morphology-help.pd | 215 | ||||
-rw-r--r-- | pix_opencv_motempl-help.pd | 339 | ||||
-rw-r--r-- | pix_opencv_pgh_compare-help.pd | 89 | ||||
-rw-r--r-- | pix_opencv_threshold-help.pd | 223 |
21 files changed, 2982 insertions, 2120 deletions
diff --git a/pix_opencv_athreshold-help.pd b/pix_opencv_athreshold-help.pd index 48dcb6c..8dbd935 100644 --- a/pix_opencv_athreshold-help.pd +++ b/pix_opencv_athreshold-help.pd @@ -1,9 +1,9 @@ -#N canvas -29 149 925 684 10; -#X obj 277 -24 gemhead; +#N canvas 550 25 1113 920 10; +#X obj 300 -86 gemhead; #X obj 183 555 pix_texture; #X obj 183 574 square 2; -#X obj 554 196 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577 -0; +#X obj -300 -52 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; @@ -34,36 +34,29 @@ #X connect 9 0 6 0; #X connect 10 0 7 0; #X connect 10 2 9 0; -#X restore 564 240 pd gemwin; -#X msg 564 222 destroy; -#X obj 29 508 pix_texture; -#X obj 29 536 square 2; -#X obj 158 168 translateXYZ -2 0 0; -#X obj 182 239 separator; -#X obj 170 -57 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +#X restore -290 -8 pd gemwin; +#X msg -290 -26 create; +#X obj 29 551 pix_texture; +#X obj 29 579 square 2; +#X obj 181 241 separator; +#X obj 312 -59 bng 25 250 50 0 load empty empty 0 -6 0 8 -262144 -1 -1; -#X obj 337 144 unpack 0 0 0; -#X floatatom 327 167 5 0 0 3 length - -; -#X floatatom 376 167 5 0 0 3 width - -; -#X floatatom 426 167 5 0 0 3 height - -; -#X obj 227 118 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 +#X obj 369 116 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 -1 -1; -#X floatatom 209 83 5 0 10000 1 frame# - -; -#X obj 170 -28 openpanel; -#X msg 170 -8 open \$1; -#X obj 158 101 pix_film; -#X msg 176 35 auto \$1; -#X obj 176 17 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +#X floatatom 351 81 5 0 10000 1 frame# - -; +#X obj 312 -30 openpanel; +#X msg 312 -10 open \$1; +#X obj 300 99 pix_film; +#X msg 318 33 auto \$1; +#X obj 318 15 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 ; -#X obj 181 276 translateXYZ 4 0 0; #X obj 178 299 cnv 15 600 250 empty empty empty 20 12 0 14 -4034 -66577 0; -#X text 562 202 Create window and render; +#X text -292 -46 Create window and render; #X obj 183 508 pix_opencv_athreshold; #X floatatom 360 498 5 0 0 0 - - -; #X msg 298 405 mode \$1; #X floatatom 318 472 5 0 0 0 - - -; -#X text 318 458 Max value used in some modes; #X msg 333 364 0; #X msg 363 384 1; #X text 349 405 thresholding mode ( default 0 ); @@ -79,50 +72,102 @@ #X text 337 323 CV_ADAPTIVE_THRESH_GAUSSIAN_C : gaussian mask; #X msg 319 427 dim \$1; #X floatatom 370 430 5 0 0 0 - - -; -#X text 410 428 value to correct the theshold; -#X text 399 86 written by Yves Degoyon ( ydegoyon@gmail.com ); -#X text 399 51 use the average of pixels in the block of pixels to +#X text -304 77 written by Yves Degoyon ( ydegoyon@gmail.com ); +#X text -304 42 use the average of pixels in the block of pixels to filter only the pixels above or below that threshold \, depending on the mode BINARY or BINARY:INVERTED; -#X text 400 40 pix_opencv_threshold : adaptive thresholding; -#X msg 271 18 colorspace RGBA; -#X msg 376 18 colorspace RGB; -#X msg 480 18 colorspace Grey; -#X obj 277 -2 loadbang; -#X connect 0 0 19 0; +#X text -303 31 pix_opencv_threshold : adaptive thresholding; +#X msg 413 16 colorspace RGBA; +#X msg 518 16 colorspace RGB; +#X msg 622 16 colorspace Grey; +#X obj 413 -12 loadbang; +#X obj 180 212 pix_separator; +#X obj 29 244 separator; +#X obj 29 215 pix_separator; +#X obj 29 279 translateXYZ -2 0 0; +#X obj 181 276 translateXYZ 2 0 0; +#N canvas 0 0 450 300 vswitch 0; +#X obj 144 263 outlet; +#X obj 36 26 inlet; +#X obj 260 29 inlet; +#X obj 36 133 spigot; +#X obj 260 141 spigot; +#X obj 119 64 loadbang; +#X msg 83 93 0; +#X msg 113 93 1; +#X msg 296 104 0; +#X msg 326 104 1; +#X obj 399 34 inlet; +#X obj 399 67 select 0; +#X connect 1 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 7 0; +#X connect 5 0 8 0; +#X connect 6 0 3 1; +#X connect 7 0 3 1; +#X connect 8 0 4 1; +#X connect 9 0 4 1; +#X connect 10 0 11 0; +#X connect 11 0 7 0; +#X connect 11 0 8 0; +#X connect 11 1 9 0; +#X connect 11 1 6 0; +#X restore 122 169 pd vswitch; +#X obj 190 169 tgl 15 0 empty load empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 63 97 pix_video; +#X obj 63 -91 gemhead; +#X msg 102 22 device 0; +#X msg 111 53 driver 1; +#X msg 88 -32 dialog; +#X msg 93 -2 device /dev/dv1394-0; +#X text 318 458 Max value used in some modes ( 0 - 255); +#X text 410 428 value to correct the theshold; +#X connect 0 0 14 0; #X connect 1 0 2 0; #X connect 4 0 5 0; #X connect 5 0 4 0; #X connect 6 0 7 0; -#X connect 8 0 6 0; -#X connect 8 0 9 0; -#X connect 9 0 22 0; -#X connect 10 0 17 0; -#X connect 11 0 12 0; -#X connect 11 1 13 0; -#X connect 11 2 14 0; -#X connect 15 0 16 0; -#X connect 16 0 19 1; -#X connect 17 0 18 0; -#X connect 18 0 19 0; -#X connect 19 0 8 0; -#X connect 19 1 11 0; -#X connect 19 2 15 0; -#X connect 20 0 19 0; -#X connect 21 0 20 0; -#X connect 22 0 25 0; -#X connect 25 0 1 0; -#X connect 26 0 25 2; -#X connect 27 0 25 0; -#X connect 28 0 25 1; -#X connect 30 0 27 0; -#X connect 31 0 27 0; -#X connect 37 0 39 0; -#X connect 38 0 39 0; -#X connect 39 0 25 0; -#X connect 43 0 25 0; -#X connect 44 0 43 0; +#X connect 8 0 49 0; +#X connect 9 0 12 0; +#X connect 10 0 11 0; +#X connect 11 0 14 1; +#X connect 12 0 13 0; +#X connect 13 0 14 0; +#X connect 14 0 50 1; +#X connect 14 2 10 0; +#X connect 15 0 14 0; +#X connect 16 0 15 0; +#X connect 19 0 1 0; +#X connect 20 0 19 2; +#X connect 21 0 19 0; +#X connect 22 0 19 1; +#X connect 23 0 21 0; +#X connect 24 0 21 0; +#X connect 30 0 32 0; +#X connect 31 0 32 0; +#X connect 32 0 19 0; +#X connect 36 0 19 0; +#X connect 37 0 36 0; +#X connect 41 0 14 0; +#X connect 41 0 52 0; +#X connect 42 0 14 0; +#X connect 43 0 14 0; +#X connect 44 0 41 0; +#X connect 44 0 16 0; +#X connect 45 0 8 0; +#X connect 46 0 48 0; +#X connect 47 0 46 0; +#X connect 48 0 6 0; #X connect 49 0 19 0; -#X connect 50 0 19 0; -#X connect 51 0 19 0; -#X connect 52 0 49 0; +#X connect 50 0 45 0; +#X connect 50 0 47 0; +#X connect 51 0 50 2; +#X connect 52 0 50 0; +#X connect 53 0 52 0; +#X connect 54 0 52 0; +#X connect 55 0 52 0; +#X connect 56 0 52 0; +#X connect 57 0 52 0; diff --git a/pix_opencv_bgsubstract-help.pd b/pix_opencv_bgsubstract-help.pd index b3ed1bc..5b8e040 100644 --- a/pix_opencv_bgsubstract-help.pd +++ b/pix_opencv_bgsubstract-help.pd @@ -1,13 +1,33 @@ -#N canvas -7 146 691 547 10; -#X obj 618 -33 gemhead; -#X obj 364 374 pix_texture; -#X obj 364 402 square 2; -#X obj 20 165 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577 +#N canvas 719 162 938 771 10; +#X obj 568 529 cnv 15 255 67 empty empty empty 20 12 0 14 -24198 -66577 +0; +#X floatatom 751 569 5 0 0 0 - - -; +#X obj 586 570 pix_opencv_bgsubstract; +#X msg 694 536 set; +#X text 730 536 set the background; +#X text 794 568 threshold (default 13); +#X text 22 244 This object takes an image as a background reference +and the compare each incomming frame with that. On the output you get +a bw image \, black pixels are considered as background and white poixels +as foreground.; +#X text 23 152 pix_opencv_bgsubstract :: A simple background substract +and binarization object.; +#X text 22 197 It is useful if you want to detect objects that are +in front of an static background and you want to isolate the foreground +silhouete of the foreground objects.; +#X text 22 305 pix_opencv_bgsubstract works comparing color values +of each pixel \, so it can fail if the foreground object has the same +color that the background \, and also if the light conditions or the +shadows changes since you SET the background image.; +#X obj 705 34 gemhead; +#X obj 586 675 pix_texture; +#X obj 586 694 square 2; +#X obj 23 30 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; -#X obj 67 41 route create; +#X obj 65 41 route create; #X msg 67 70 set destroy; #X msg 182 68 set create; #N canvas 87 154 247 179 Gem.init 0; @@ -17,11 +37,11 @@ #X connect 0 0 1 0; #X connect 1 0 2 0; #X restore 289 80 pd Gem.init; -#X obj 192 276 gemwin; -#X msg 191 223 create \, 1; -#X msg 267 224 destroy; -#X msg 313 196 frame 5; -#X obj 194 186 t b b b; +#X obj 162 241 gemwin; +#X msg 161 188 create \, 1; +#X msg 237 189 destroy; +#X msg 283 161 frame 5; +#X obj 164 126 t b b b; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 2 0 10 0; @@ -34,79 +54,104 @@ #X connect 9 0 6 0; #X connect 10 0 7 0; #X connect 10 2 9 0; -#X restore 25 209 pd gemwin; -#X msg 25 185 destroy; -#X text 21 165 Create window and render; -#X obj 200 368 pix_texture; -#X obj 200 396 square 2; -#X obj 266 167 translateXYZ -2 0 0; -#X obj 367 224 separator; -#X obj 346 281 cnv 15 255 67 empty empty empty 20 12 0 14 -24198 -66577 -0; -#X obj 511 -66 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +#X restore 33 74 pd gemwin; +#X msg 33 56 create; +#X obj 434 671 pix_texture; +#X obj 434 699 square 2; +#X obj 586 361 separator; +#X obj 717 61 bng 25 250 50 0 load empty empty 0 -6 0 8 -262144 -1 -1; -#X obj 524 128 unpack 0 0 0; -#X floatatom 514 151 5 0 0 3 length - -; -#X floatatom 563 151 5 0 0 3 width - -; -#X floatatom 613 151 5 0 0 3 height - -; -#X obj 568 109 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 +#X obj 774 236 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 -1 -1; -#X floatatom 572 92 5 0 10000 1 frame# - -; -#X obj 511 -37 openpanel; -#X msg 511 -17 open \$1; -#X obj 499 92 pix_film; -#X msg 517 26 auto \$1; -#X obj 517 8 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 -; -#X obj 364 259 translateXYZ 4 0 0; -#X floatatom 529 321 5 0 0 0 - - -; -#X obj 364 322 pix_opencv_bgsubstract; -#X msg 472 288 set; -#X text 508 288 set the background; -#X text 572 320 threshold (default 13); -#X text 26 -2 This object takes an image as a background reference -and the compare each incomming frame with that. On the output you get -a bw image \, black pixels are considered as background and white poixels -as foreground.; -#X text 27 -94 pix_opencv_bgsubstract :: A simple background substract -and binarization object.; -#X text 26 -49 It is useful if you want to detect objects that are -in front of an static background and you want to isolate the foreground -silhouete of the foreground objects.; -#X text 26 59 pix_opencv_bgsubstract works comparing color values of -each pixel \, so it can fail if the foreground object has the same -color that the background \, and also if the light conditions or the -shadows changes since you SET the background image.; -#X msg 561 47 colorspace RGBA; -#X obj 584 20 loadbang; -#X msg 678 45 colorspace RGB; -#X msg 778 45 colorspace Grey; -#X connect 0 0 21 0; -#X connect 1 0 2 0; -#X connect 4 0 5 0; -#X connect 5 0 4 0; -#X connect 7 0 8 0; -#X connect 9 0 7 0; -#X connect 9 0 10 0; +#X floatatom 756 201 5 0 10000 1 frame# - -; +#X obj 717 90 openpanel; +#X msg 717 110 open \$1; +#X obj 705 219 pix_film; +#X msg 723 153 auto \$1; +#X obj 723 135 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X text 31 36 Create window and render; +#X msg 818 136 colorspace RGBA; +#X msg 923 136 colorspace RGB; +#X msg 1027 136 colorspace Grey; +#X obj 818 108 loadbang; +#X obj 585 332 pix_separator; +#X obj 434 364 separator; +#X obj 434 335 pix_separator; +#X obj 434 399 translateXYZ -2 0 0; +#X obj 586 396 translateXYZ 2 0 0; +#N canvas 0 0 450 300 vswitch 0; +#X obj 144 263 outlet; +#X obj 36 26 inlet; +#X obj 260 29 inlet; +#X obj 36 133 spigot; +#X obj 260 141 spigot; +#X obj 119 64 loadbang; +#X msg 83 93 0; +#X msg 113 93 1; +#X msg 296 104 0; +#X msg 326 104 1; +#X obj 399 34 inlet; +#X obj 399 67 select 0; +#X connect 1 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 7 0; +#X connect 5 0 8 0; +#X connect 6 0 3 1; +#X connect 7 0 3 1; +#X connect 8 0 4 1; +#X connect 9 0 4 1; +#X connect 10 0 11 0; +#X connect 11 0 7 0; +#X connect 11 0 8 0; +#X connect 11 1 9 0; +#X connect 11 1 6 0; +#X restore 527 289 pd vswitch; +#X obj 595 289 tgl 15 0 empty load empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 468 217 pix_video; +#X obj 468 29 gemhead; +#X msg 507 142 device 0; +#X msg 516 173 driver 1; +#X msg 493 88 dialog; +#X msg 498 118 device /dev/dv1394-0; +#X connect 1 0 2 1; +#X connect 2 0 11 0; +#X connect 3 0 2 0; #X connect 10 0 24 0; -#X connect 12 0 19 0; -#X connect 13 0 14 0; -#X connect 13 1 15 0; -#X connect 13 2 16 0; -#X connect 17 0 18 0; -#X connect 18 0 21 1; -#X connect 19 0 20 0; +#X connect 11 0 12 0; +#X connect 14 0 15 0; +#X connect 15 0 14 0; +#X connect 16 0 17 0; +#X connect 18 0 36 0; +#X connect 19 0 22 0; #X connect 20 0 21 0; -#X connect 21 0 9 0; -#X connect 21 1 13 0; -#X connect 21 2 17 0; -#X connect 22 0 21 0; -#X connect 23 0 22 0; -#X connect 24 0 26 0; -#X connect 25 0 26 1; -#X connect 26 0 1 0; -#X connect 27 0 26 0; -#X connect 34 0 21 0; -#X connect 35 0 34 0; -#X connect 36 0 21 0; -#X connect 37 0 21 0; +#X connect 21 0 24 1; +#X connect 22 0 23 0; +#X connect 23 0 24 0; +#X connect 24 0 37 1; +#X connect 24 2 20 0; +#X connect 25 0 24 0; +#X connect 26 0 25 0; +#X connect 28 0 24 0; +#X connect 28 0 39 0; +#X connect 29 0 24 0; +#X connect 30 0 24 0; +#X connect 31 0 28 0; +#X connect 31 0 26 0; +#X connect 32 0 18 0; +#X connect 33 0 35 0; +#X connect 34 0 33 0; +#X connect 35 0 16 0; +#X connect 36 0 2 0; +#X connect 37 0 32 0; +#X connect 37 0 34 0; +#X connect 38 0 37 2; +#X connect 39 0 37 0; +#X connect 40 0 39 0; +#X connect 41 0 39 0; +#X connect 42 0 39 0; +#X connect 43 0 39 0; +#X connect 44 0 39 0; diff --git a/pix_opencv_camshift-help.pd b/pix_opencv_camshift-help.pd index 123a53d..1a6bb6a 100644 --- a/pix_opencv_camshift-help.pd +++ b/pix_opencv_camshift-help.pd @@ -1,7 +1,6 @@ -#N canvas 248 94 1192 685 10; -#X obj 396 -37 gemhead; -#X obj 218 457 pix_texture; -#X obj 28 132 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577 +#N canvas 0 25 1680 940 10; +#X obj 479 677 pix_texture; +#X obj 25 -34 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577 0; #N canvas 189 149 454 304 gemwin 0; #X obj 130 218 gemwin; @@ -41,131 +40,171 @@ #X connect 9 2 11 0; #X connect 10 0 0 0; #X connect 11 0 0 0; -#X restore 35 178 pd gemwin; -#X msg 35 157 destroy; -#X text 38 139 Create window and render; -#X obj 340 181 cnv 15 600 350 empty empty empty 20 12 0 14 -24198 -66577 +#X restore 32 12 pd gemwin; +#X msg 32 -9 create; +#X text 35 -27 Create window and render; +#X obj 424 309 cnv 15 600 350 empty empty empty 20 12 0 14 -24198 -66577 0; -#X obj 511 -66 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 524 128 unpack 0 0 0; -#X floatatom 514 151 5 0 0 3 length - -; -#X floatatom 563 151 5 0 0 3 width - -; -#X floatatom 613 151 5 0 0 3 height - -; -#X obj 568 109 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 --1 -1; -#X floatatom 550 74 5 0 10000 1 frame# - -; -#X obj 511 -37 openpanel; -#X msg 511 -17 open \$1; -#X obj 499 92 pix_film; -#X msg 517 26 auto \$1; -#X obj 517 8 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 -; -#X obj 580 26 loadbang; -#X msg 531 52 colorspace RGBA; -#X obj 952 123 gemmouse; -#X obj 1008 230 f; -#X obj 978 229 f; -#X obj 1022 201 t b b; -#X obj 975 274 pack f f; -#X obj 998 151 route 1; -#X msg 1019 176 bang; -#X floatatom 969 251 5 0 0 0 - - -; -#X floatatom 1022 254 5 0 0 0 - - -; -#X obj 208 534 rectangle 4 3; -#X obj 212 489 pix_resize 320 240; -#X obj 399 419 pix_opencv_camshift; -#X obj 510 449 unpack f f f f f; -#X floatatom 511 479 5 0 0 0 - - -; -#X floatatom 550 479 5 0 0 0 - - -; -#X floatatom 588 479 5 0 0 0 - - -; -#X floatatom 627 479 5 0 0 0 - - -; -#X floatatom 668 479 5 0 0 0 - - -; -#X text 538 503 center Y; -#X text 588 493 width; -#X text 623 504 height; -#X text 498 493 center X; -#X text 666 495 angle; -#X text 622 448 for the tracked object; -#X msg 488 277 backproject \$1; -#X text 607 278 show the backproject flow image; -#X obj 585 278 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +#X obj 1032 251 gemmouse; +#X obj 1088 358 f; +#X obj 1058 357 f; +#X obj 1102 329 t b b; +#X obj 1052 424 pack f f; +#X obj 1078 279 route 1; +#X msg 1099 304 bang; +#X floatatom 1049 379 5 0 0 0 - - -; +#X floatatom 1102 382 5 0 0 0 - - -; +#X obj 473 709 pix_resize 320 240; +#X obj 479 547 pix_opencv_camshift; +#X obj 590 577 unpack f f f f f; +#X floatatom 591 607 5 0 0 0 - - -; +#X floatatom 630 607 5 0 0 0 - - -; +#X floatatom 668 607 5 0 0 0 - - -; +#X floatatom 707 607 5 0 0 0 - - -; +#X floatatom 748 607 5 0 0 0 - - -; +#X text 618 631 center Y; +#X text 668 621 width; +#X text 703 632 height; +#X text 578 621 center X; +#X text 746 623 angle; +#X text 702 576 for the tracked object; +#X msg 568 405 backproject \$1; +#X text 687 406 show the backproject flow image; +#X obj 665 406 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1; -#X msg 446 194 vmin \$1; -#X floatatom 502 196 5 0 0 0 - - -; -#X floatatom 518 220 5 0 0 0 - - -; -#X msg 464 220 vmax \$1; -#X floatatom 531 251 5 0 0 0 - - -; -#X msg 477 250 smin \$1; -#X text 556 220 V pre-filtering maximal value ( default : 256 ); -#X text 570 249 S pre-filtering minimal value ( default : 30 ); -#X msg 520 357 track \$1 \$2; -#X text 597 355 track %x %y : mark the object to track; -#X floatatom 564 310 5 0 0 0 - - -; -#X floatatom 581 334 5 0 0 0 - - -; -#X msg 499 308 rwidth \$1; -#X msg 508 332 rheight \$1; -#X text 600 308 initial search region width ( default : 20 ); -#X text 619 333 initial search region height ( default : 20 ); -#X text 547 196 V pre-filtering minimal value ( default : 50 ); -#X text 34 40 pix_opencv_camshift : continuously adaptive mean-shift +#X msg 526 322 vmin \$1; +#X floatatom 582 324 5 0 0 0 - - -; +#X floatatom 598 348 5 0 0 0 - - -; +#X msg 544 348 vmax \$1; +#X floatatom 611 379 5 0 0 0 - - -; +#X msg 557 378 smin \$1; +#X text 636 348 V pre-filtering maximal value ( default : 256 ); +#X text 650 377 S pre-filtering minimal value ( default : 30 ); +#X msg 600 485 track \$1 \$2; +#X text 677 483 track %x %y : mark the object to track; +#X floatatom 644 438 5 0 0 0 - - -; +#X floatatom 661 462 5 0 0 0 - - -; +#X msg 579 436 rwidth \$1; +#X msg 588 460 rheight \$1; +#X text 680 436 initial search region width ( default : 20 ); +#X text 699 461 initial search region height ( default : 20 ); +#X text 627 324 V pre-filtering minimal value ( default : 50 ); +#X text 23 46 pix_opencv_camshift : continuously adaptive mean-shift algorithm to track objects based on a hidden histogram of the hue component of pixels.; -#X text 34 75 written by Yves Degoyon ( ydegoyon@gmail.com ) \, inspired +#X text 23 81 written by Yves Degoyon ( ydegoyon@gmail.com ) \, inspired by OpenCV samples code.; -#X msg 740 52 colorspace RGB; -#X msg 636 52 colorspace Grey; -#X connect 0 0 16 0; -#X connect 1 0 31 0; -#X connect 3 0 4 0; -#X connect 4 0 3 0; +#X obj 499 274 pix_resize 320 240; +#X obj 469 754 rectangle 5.3 4; +#X obj 677 -31 gemhead; +#X obj 689 -4 bng 25 250 50 0 load empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 746 171 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 +-1 -1; +#X floatatom 728 136 5 0 10000 1 frame# - -; +#X obj 689 25 openpanel; +#X msg 689 45 open \$1; +#X obj 677 154 pix_film; +#X msg 695 88 auto \$1; +#X obj 695 70 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +; +#X msg 790 71 colorspace RGBA; +#X msg 895 71 colorspace RGB; +#X obj 790 43 loadbang; +#N canvas 0 0 450 300 vswitch 0; +#X obj 144 263 outlet; +#X obj 36 26 inlet; +#X obj 260 29 inlet; +#X obj 36 133 spigot; +#X obj 260 141 spigot; +#X obj 119 64 loadbang; +#X msg 83 93 0; +#X msg 113 93 1; +#X msg 296 104 0; +#X msg 326 104 1; +#X obj 399 34 inlet; +#X obj 399 67 select 0; +#X connect 1 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 7 0; +#X connect 5 0 8 0; +#X connect 6 0 3 1; +#X connect 7 0 3 1; +#X connect 8 0 4 1; +#X connect 9 0 4 1; +#X connect 10 0 11 0; +#X connect 11 0 7 0; +#X connect 11 0 8 0; +#X connect 11 1 9 0; +#X connect 11 1 6 0; +#X restore 499 224 pd vswitch; +#X obj 567 224 tgl 15 0 empty load empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 440 152 pix_video; +#X obj 440 -36 gemhead; +#X msg 479 77 device 0; +#X msg 488 108 driver 1; +#X msg 465 23 dialog; +#X msg 470 53 device /dev/dv1394-0; +#X connect 0 0 15 0; +#X connect 2 0 3 0; +#X connect 3 0 2 0; +#X connect 6 0 8 1; +#X connect 6 1 7 1; +#X connect 6 2 11 0; #X connect 7 0 14 0; -#X connect 8 0 9 0; -#X connect 8 1 10 0; -#X connect 8 2 11 0; -#X connect 12 0 13 0; -#X connect 13 0 16 1; -#X connect 14 0 15 0; -#X connect 15 0 16 0; -#X connect 16 0 32 0; -#X connect 16 1 8 0; -#X connect 16 2 12 0; -#X connect 17 0 16 0; -#X connect 18 0 17 0; -#X connect 19 0 20 0; -#X connect 20 0 16 0; -#X connect 21 0 23 1; -#X connect 21 1 22 1; -#X connect 21 2 26 0; -#X connect 22 0 25 1; -#X connect 22 0 29 0; -#X connect 23 0 25 0; -#X connect 23 0 28 0; -#X connect 24 0 23 0; -#X connect 24 1 22 0; -#X connect 25 0 56 0; -#X connect 26 0 27 0; -#X connect 27 0 24 0; -#X connect 31 0 30 0; -#X connect 32 0 1 0; -#X connect 32 1 33 0; -#X connect 33 0 34 0; -#X connect 33 1 35 0; -#X connect 33 2 36 0; -#X connect 33 3 37 0; -#X connect 33 4 38 0; -#X connect 45 0 32 0; -#X connect 47 0 45 0; -#X connect 48 0 32 0; -#X connect 49 0 48 0; -#X connect 50 0 51 0; -#X connect 51 0 32 0; -#X connect 52 0 53 0; -#X connect 53 0 32 0; -#X connect 56 0 32 0; -#X connect 58 0 60 0; -#X connect 59 0 61 0; -#X connect 60 0 32 0; -#X connect 61 0 32 0; -#X connect 67 0 16 0; -#X connect 68 0 16 0; +#X connect 8 0 10 0; +#X connect 8 0 13 0; +#X connect 9 0 8 0; +#X connect 9 1 7 0; +#X connect 10 0 40 0; +#X connect 11 0 12 0; +#X connect 12 0 9 0; +#X connect 14 0 10 1; +#X connect 15 0 52 0; +#X connect 16 0 0 0; +#X connect 16 1 17 0; +#X connect 17 0 18 0; +#X connect 17 1 19 0; +#X connect 17 2 20 0; +#X connect 17 3 21 0; +#X connect 17 4 22 0; +#X connect 29 0 16 0; +#X connect 31 0 29 0; +#X connect 32 0 16 0; +#X connect 33 0 32 0; +#X connect 34 0 35 0; +#X connect 35 0 16 0; +#X connect 36 0 37 0; +#X connect 37 0 16 0; +#X connect 40 0 16 0; +#X connect 42 0 44 0; +#X connect 43 0 45 0; +#X connect 44 0 16 0; +#X connect 45 0 16 0; +#X connect 51 0 16 0; +#X connect 53 0 59 0; +#X connect 54 0 57 0; +#X connect 55 0 56 0; +#X connect 56 0 59 1; +#X connect 57 0 58 0; +#X connect 58 0 59 0; +#X connect 59 0 65 1; +#X connect 59 2 55 0; +#X connect 60 0 59 0; +#X connect 61 0 60 0; +#X connect 62 0 59 0; +#X connect 62 0 67 0; +#X connect 63 0 59 0; +#X connect 64 0 62 0; +#X connect 64 0 61 0; +#X connect 65 0 51 0; +#X connect 66 0 65 2; +#X connect 67 0 65 0; +#X connect 68 0 67 0; +#X connect 69 0 67 0; +#X connect 70 0 67 0; +#X connect 71 0 67 0; +#X connect 72 0 67 0; diff --git a/pix_opencv_contours_boundingrect-help.pd b/pix_opencv_contours_boundingrect-help.pd index 8bcf374..d2daeae 100644 --- a/pix_opencv_contours_boundingrect-help.pd +++ b/pix_opencv_contours_boundingrect-help.pd @@ -1,27 +1,82 @@ -#N canvas 73 50 1040 775 10; -#X obj 441 -19 gemhead; -#X obj 364 510 pix_texture; -#X obj 364 538 square 2; -#X obj 25 436 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577 +#N canvas 625 108 1040 775 10; +#X obj 580 466 cnv 15 550 250 empty empty empty 20 12 0 14 -24198 -66577 0; -#N canvas 5 49 454 304 gemwin 0; +#X floatatom 717 652 5 0 0 0 - - -; +#X obj 600 684 pix_opencv_contours_boundingrect; +#X text 752 648 min area in pixels (default 1); +#X floatatom 803 666 5 0 0 0 - - -; +#X text 841 665 max area in pixels (default 76800); +#X floatatom 733 816 5 0 0 0 - - -; +#X floatatom 768 816 5 0 0 0 - - -; +#X floatatom 805 816 5 0 0 0 - - -; +#X floatatom 839 816 5 0 0 0 - - -; +#X obj 730 787 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 +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 +-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 +-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 790 528 maximum move of a countour ( default 10 ); +#X text 807 551 frame tolerance for identification ( default 5 ); +#X text 30 138 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 +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 +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 0 +1; +#X obj 777 597 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 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 596 861 square 2; +#X obj 33 40 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; -#X obj 67 41 route create; +#X obj 65 41 route create; #X msg 67 70 set destroy; #X msg 182 68 set create; -#N canvas 92 178 247 179 Gem.init 0; +#N canvas 87 154 247 179 Gem.init 0; #X obj 118 46 loadbang; #X msg 118 81 reset; #X obj 118 113 outlet; #X connect 0 0 1 0; #X connect 1 0 2 0; #X restore 289 80 pd Gem.init; -#X obj 161 230 gemwin; -#X msg 160 177 create \, 1; -#X msg 236 178 destroy; -#X msg 294 178 frame 5; -#X obj 163 140 t b b b; +#X obj 162 241 gemwin; +#X msg 161 188 create \, 1; +#X msg 237 189 destroy; +#X msg 283 161 frame 5; +#X obj 164 126 t b b b; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 2 0 10 0; @@ -34,146 +89,139 @@ #X connect 9 0 6 0; #X connect 10 0 7 0; #X connect 10 2 9 0; -#X restore 30 480 pd gemwin; -#X msg 30 456 destroy; -#X text 26 436 Create window and render; -#X obj 200 368 pix_texture; -#X obj 198 397 square 2; -#X obj 266 167 translateXYZ -2 0 0; -#X obj 281 199 separator; -#X obj 344 246 cnv 15 550 250 empty empty empty 20 12 0 14 -24198 -66577 -0; -#X obj 511 -66 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +#X restore 43 84 pd gemwin; +#X msg 43 66 create; +#X obj 444 838 pix_texture; +#X obj 444 866 square 2; +#X obj 596 371 separator; +#X obj 727 71 bng 25 250 50 0 load empty empty 0 -6 0 8 -262144 -1 -1; -#X obj 527 164 unpack 0 0 0; -#X floatatom 517 187 5 0 0 3 length - -; -#X floatatom 566 187 5 0 0 3 width - -; -#X floatatom 616 187 5 0 0 3 height - -; -#X obj 571 145 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 +#X obj 784 246 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 -1 -1; -#X floatatom 553 110 5 0 10000 1 frame# - -; -#X obj 511 -37 openpanel; -#X msg 511 -17 open \$1; -#X obj 502 128 pix_film; -#X msg 479 23 auto \$1; -#X obj 479 5 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 -; -#X obj 281 227 translateXYZ 4 0 0; -#X floatatom 481 432 5 0 0 0 - - -; -#X obj 364 464 pix_opencv_contours_boundingrect; -#X obj 378 110 pix_invert; -#X obj 319 135 pix_threshold; -#X floatatom 322 103 5 0 0 0 - - -; -#X msg 289 101 0.33; -#X obj 234 101 loadbang; -#X text 516 428 min area in pixels (default 1); -#X floatatom 567 446 5 0 0 0 - - -; -#X text 605 445 max area in pixels (default 76800); -#X floatatom 497 596 5 0 0 0 - - -; -#X floatatom 532 596 5 0 0 0 - - -; -#X floatatom 569 596 5 0 0 0 - - -; -#X floatatom 603 596 5 0 0 0 - - -; -#X obj 494 567 unpack 0 0 0 0 0; -#X obj 494 516 route 0 1 2 3 4; -#X text 647 596 Xorigin Yorigin Width Height; -#X text 554 534 For each contour detected; -#X text 655 -107 It is useful as a motion tracker if you have well -isolated silouets of the objects you want to track.; -#X msg 385 260 mode \$1; -#X obj 446 261 hradio 15 1 0 4 empty empty empty 0 -8 0 10 -262144 --1 -1 0; -#X text 515 262 retrieval mode ( see cvFindContours ); -#X obj 481 286 hradio 15 1 0 5 empty empty empty 0 -8 0 10 -262144 --1 -1 0; -#X text 563 286 retrieval method ( see cvFindContours ); -#X msg 414 285 method \$1; -#X msg 437 308 maxmove \$1; -#X floatatom 511 309 5 0 0 0 - - -; -#X floatatom 535 333 5 0 0 0 - - -; -#X msg 447 330 ftolerance \$1; -#X text 554 308 maximum move of a countour ( default 10 ); -#X text 571 331 frame tolerance for identification ( default 5 ); -#X text 656 -141 pix_opencv_contours_boundingrect :: Calculates up-right -bounding rectangle of all contours of a binary image.; -#X text 655 -68 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 655 -14 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 597 499 5 0 0 0 - - -; -#X text 635 500 number of contours; -#X msg 531 87 colorspace RGBA; -#X msg 521 66 colorspace RGB; -#X msg 513 46 colorspace Gray; -#X obj 562 21 loadbang; -#X msg 462 355 nightmode \$1; -#X obj 552 356 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 -1; -#X obj 541 377 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +#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 0 1; -#X obj 554 399 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +#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; +#N canvas 0 0 450 300 vswitch 0; +#X obj 144 263 outlet; +#X obj 36 26 inlet; +#X obj 260 29 inlet; +#X obj 36 133 spigot; +#X obj 260 141 spigot; +#X obj 119 64 loadbang; +#X msg 83 93 0; +#X msg 113 93 1; +#X msg 296 104 0; +#X msg 326 104 1; +#X obj 399 34 inlet; +#X obj 399 67 select 0; +#X connect 1 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 7 0; +#X connect 5 0 8 0; +#X connect 6 0 3 1; +#X connect 7 0 3 1; +#X connect 8 0 4 1; +#X connect 9 0 4 1; +#X connect 10 0 11 0; +#X connect 11 0 7 0; +#X connect 11 0 8 0; +#X connect 11 1 9 0; +#X connect 11 1 6 0; +#X restore 537 299 pd vswitch; +#X obj 605 299 tgl 15 0 empty load empty 17 7 0 10 -262144 -1 -1 0 1; -#X msg 481 376 draw \$1; -#X text 568 375 draw bounding rectangle ( default : on ); -#X msg 496 397 show \$1; -#X text 581 396 draw the detected contours ( default : off ); -#X text 575 356 hide original image ( default : off ); -#X connect 0 0 21 0; -#X connect 1 0 2 0; -#X connect 4 0 5 0; -#X connect 5 0 4 0; -#X connect 7 0 8 0; -#X connect 9 0 7 0; -#X connect 9 0 10 0; -#X connect 10 0 24 0; -#X connect 12 0 19 0; -#X connect 13 0 14 0; -#X connect 13 1 15 0; -#X connect 13 2 16 0; -#X connect 17 0 18 0; -#X connect 18 0 21 1; -#X connect 19 0 20 0; -#X connect 20 0 21 0; -#X connect 21 0 27 0; -#X connect 21 1 13 0; -#X connect 21 2 17 0; -#X connect 22 0 21 0; -#X connect 23 0 22 0; -#X connect 24 0 26 0; -#X connect 25 0 26 1; -#X connect 26 0 1 0; -#X connect 26 1 40 0; -#X connect 26 2 59 0; -#X connect 27 0 28 0; -#X connect 28 0 9 0; -#X connect 29 0 28 1; -#X connect 30 0 29 0; -#X connect 31 0 30 0; -#X connect 33 0 26 2; -#X connect 39 0 35 0; -#X connect 39 1 36 0; -#X connect 39 2 37 0; -#X connect 39 3 38 0; -#X connect 40 0 39 0; -#X connect 44 0 26 0; +#X obj 478 227 pix_video; +#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 floatatom 746 894 5 0 0 0 - - -; +#X floatatom 781 894 5 0 0 0 - - -; +#X floatatom 818 894 5 0 0 0 - - -; +#X floatatom 852 894 5 0 0 0 - - -; +#X obj 743 865 unpack 0 0 0 0 0; +#X text 883 816 ( First contour ) Xorigin Yorigin Width Height; +#X text 895 892 ( Second contour ) Xorigin Yorigin Width Height; +#X obj 596 439 pix_opencv_bgsubstract; +#X connect 1 0 2 1; +#X connect 2 0 41 0; +#X connect 2 1 11 0; +#X connect 2 2 29 0; +#X connect 4 0 2 2; +#X connect 10 0 6 0; +#X connect 10 1 7 0; +#X connect 10 2 8 0; +#X connect 10 3 9 0; +#X connect 11 0 10 0; +#X connect 11 1 79 0; +#X connect 14 0 2 0; +#X connect 15 0 14 0; +#X connect 17 0 19 0; +#X connect 19 0 2 0; +#X connect 20 0 2 0; +#X connect 21 0 20 0; +#X connect 22 0 23 0; +#X connect 23 0 2 0; +#X connect 31 0 2 0; +#X connect 32 0 31 0; +#X connect 33 0 35 0; +#X connect 34 0 37 0; +#X connect 35 0 2 0; +#X connect 37 0 2 0; +#X connect 40 0 54 0; +#X connect 41 0 42 0; +#X connect 44 0 45 0; #X connect 45 0 44 0; -#X connect 47 0 49 0; -#X connect 49 0 26 0; -#X connect 50 0 26 0; -#X connect 51 0 50 0; +#X connect 46 0 47 0; +#X connect 48 0 66 0; +#X connect 49 0 52 0; +#X connect 50 0 51 0; +#X connect 51 0 54 1; #X connect 52 0 53 0; -#X connect 53 0 26 0; -#X connect 61 0 21 0; -#X connect 62 0 21 0; -#X connect 63 0 21 0; -#X connect 64 0 61 0; -#X connect 65 0 26 0; -#X connect 66 0 65 0; -#X connect 67 0 69 0; -#X connect 68 0 71 0; -#X connect 69 0 26 0; -#X connect 71 0 26 0; +#X connect 53 0 54 0; +#X connect 54 0 67 1; +#X connect 54 2 50 0; +#X connect 55 0 54 0; +#X connect 56 0 55 0; +#X connect 58 0 54 0; +#X connect 58 0 69 0; +#X connect 59 0 54 0; +#X connect 60 0 54 0; +#X connect 61 0 58 0; +#X connect 61 0 56 0; +#X connect 62 0 48 0; +#X connect 63 0 65 0; +#X connect 64 0 63 0; +#X connect 65 0 46 0; +#X connect 66 0 82 0; +#X connect 67 0 62 0; +#X connect 67 0 64 0; +#X connect 68 0 67 2; +#X connect 69 0 67 0; +#X connect 70 0 69 0; +#X connect 71 0 69 0; +#X connect 72 0 69 0; +#X connect 73 0 69 0; +#X connect 74 0 69 0; +#X connect 79 0 75 0; +#X connect 79 1 76 0; +#X connect 79 2 77 0; +#X connect 79 3 78 0; +#X connect 82 0 2 0; diff --git a/pix_opencv_contours_convexhull-help.pd b/pix_opencv_contours_convexhull-help.pd index a11072d..ce8ea15 100644 --- a/pix_opencv_contours_convexhull-help.pd +++ b/pix_opencv_contours_convexhull-help.pd @@ -1,13 +1,36 @@ -#N canvas 547 63 1018 740 10; -#X obj 264 18 gemhead; -#X obj 195 378 pix_texture; -#X obj 195 406 square 2; -#X obj 558 -22 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577 +#N canvas 588 102 1018 740 10; +#X obj 588 591 cnv 15 255 67 empty empty empty 20 12 0 14 -24198 -66577 +0; +#X floatatom 841 790 5 0 0 0 - - -; +#X floatatom 876 790 5 0 0 0 - - -; +#X floatatom 906 771 5 0 0 0 - - -; +#X floatatom 940 771 5 0 0 0 - - -; +#X obj 868 710 unpack 0 0 0 0 0 0; +#X floatatom 970 752 5 0 0 0 - - -; +#X floatatom 1004 752 5 0 0 0 - - -; +#X text 36 159 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 pix_threshold to obtain a correct input for pix_opencv_contours_boundingrect. +; +#X obj 606 634 pix_opencv_contours_convexhull; +#X text 1043 753 etc ...; +#X text 978 771 Second vertex point (X -Y); +#X text 916 790 First vertex point (X -Y); +#X text 37 212 pix_opencv_contours_convexhull works detecting the bigest +white area in the input image \, sometimes you will need to use pix_opencv_morphology +to transform the contours of the shape to be analyzed..; +#X text 37 123 pix_opencv_contours_convexhull :: Finds convexhull of +the bigest contour of a binary image.; +#X floatatom 694 685 5 0 0 0 - - -; +#X obj 725 54 gemhead; +#X obj 606 852 pix_texture; +#X obj 606 871 square 2; +#X obj 43 50 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; -#X obj 67 41 route create; +#X obj 65 41 route create; #X msg 67 70 set destroy; #X msg 182 68 set create; #N canvas 87 154 247 179 Gem.init 0; @@ -17,11 +40,11 @@ #X connect 0 0 1 0; #X connect 1 0 2 0; #X restore 289 80 pd Gem.init; -#X obj 160 260 gemwin; -#X msg 159 207 create \, 1; -#X msg 235 208 destroy; -#X msg 281 180 frame 5; -#X obj 162 170 t b b b; +#X obj 162 241 gemwin; +#X msg 161 188 create \, 1; +#X msg 237 189 destroy; +#X msg 283 161 frame 5; +#X obj 164 126 t b b b; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 2 0 10 0; @@ -34,100 +57,117 @@ #X connect 9 0 6 0; #X connect 10 0 7 0; #X connect 10 2 9 0; -#X restore 563 22 pd gemwin; -#X msg 564 0 create; -#X text 560 -20 Create window and render; -#X obj 31 372 pix_texture; -#X obj 31 400 square 2; -#X obj 97 171 translateXYZ -2 0 0; -#X obj 198 228 separator; -#X obj 177 285 cnv 15 255 67 empty empty empty 20 12 0 14 -24198 -66577 -0; -#X obj 342 -62 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +#X restore 53 94 pd gemwin; +#X msg 53 76 create; +#X obj 454 848 pix_texture; +#X obj 454 876 square 2; +#X obj 606 381 separator; +#X obj 737 81 bng 25 250 50 0 load empty empty 0 -6 0 8 -262144 -1 -1; -#X obj 355 132 unpack 0 0 0; -#X floatatom 345 155 5 0 0 3 length - -; -#X floatatom 394 155 5 0 0 3 width - -; -#X floatatom 444 155 5 0 0 3 height - -; -#X obj 399 113 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 +#X obj 794 256 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 -1 -1; -#X floatatom 381 78 5 0 10000 1 frame# - -; -#X obj 342 -33 openpanel; -#X msg 342 -13 open \$1; -#X obj 330 96 pix_film; -#X msg 348 30 auto \$1; -#X obj 348 12 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 -; -#X obj 195 263 translateXYZ 4 0 0; -#X obj 209 114 pix_invert; -#X obj 150 139 pix_threshold; -#X floatatom 256 146 5 0 0 0 - - -; -#X msg 272 195 0.33; -#X obj 310 196 loadbang; -#X floatatom 438 484 5 0 0 0 - - -; -#X floatatom 473 484 5 0 0 0 - - -; -#X floatatom 503 465 5 0 0 0 - - -; -#X floatatom 537 465 5 0 0 0 - - -; -#X obj 465 404 unpack 0 0 0 0 0 0; -#X floatatom 567 446 5 0 0 0 - - -; -#X floatatom 601 446 5 0 0 0 - - -; -#X floatatom 291 379 5 0 0 0 - - -; -#X text 504 230 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 pix_threshold to obtain a correct input for -pix_opencv_contours_boundingrect.; -#X msg 390 54 colorspace RGBA; -#X obj 413 27 loadbang; -#X msg 497 55 colorspace RGB; -#X msg 596 55 colorspace Grey; -#X obj 195 328 pix_opencv_contours_convexhull; -#X text 287 394 number convexity vertex; -#X text 640 447 etc ...; -#X text 575 465 Second vertex point (X -Y); -#X text 513 484 First vertex point (X -Y); -#X text 505 194 pix_opencv_contours_convexity :: Finds convexhull of -the bigest contour of a binary image.; -#X text 505 283 pix_opencv_contours_convexhull works detecting the -bigest white area in the input image \, sometimes you will need to -use pix_opencv_morphology to transform the contours of the shape to -be analyzed..; -#X connect 0 0 21 0; -#X connect 1 0 2 0; -#X connect 4 0 5 0; -#X connect 5 0 4 0; -#X connect 7 0 8 0; -#X connect 9 0 7 0; -#X connect 9 0 10 0; -#X connect 10 0 24 0; -#X connect 12 0 19 0; -#X connect 13 0 14 0; -#X connect 13 1 15 0; -#X connect 13 2 16 0; +#X floatatom 776 221 5 0 10000 1 frame# - -; +#X obj 737 110 openpanel; +#X msg 737 130 open \$1; +#X obj 725 239 pix_film; +#X msg 743 173 auto \$1; +#X obj 743 155 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X text 51 56 Create window and render; +#X msg 838 156 colorspace RGBA; +#X msg 943 156 colorspace RGB; +#X msg 1047 156 colorspace Grey; +#X obj 838 128 loadbang; +#X obj 605 352 pix_separator; +#X obj 454 384 separator; +#X obj 454 355 pix_separator; +#X obj 454 419 translateXYZ -2 0 0; +#X obj 606 416 translateXYZ 2 0 0; +#N canvas 0 0 450 300 vswitch 0; +#X obj 144 263 outlet; +#X obj 36 26 inlet; +#X obj 260 29 inlet; +#X obj 36 133 spigot; +#X obj 260 141 spigot; +#X obj 119 64 loadbang; +#X msg 83 93 0; +#X msg 113 93 1; +#X msg 296 104 0; +#X msg 326 104 1; +#X obj 399 34 inlet; +#X obj 399 67 select 0; +#X connect 1 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 7 0; +#X connect 5 0 8 0; +#X connect 6 0 3 1; +#X connect 7 0 3 1; +#X connect 8 0 4 1; +#X connect 9 0 4 1; +#X connect 10 0 11 0; +#X connect 11 0 7 0; +#X connect 11 0 8 0; +#X connect 11 1 9 0; +#X connect 11 1 6 0; +#X restore 547 309 pd vswitch; +#X obj 615 309 tgl 15 0 empty load empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 488 237 pix_video; +#X obj 488 49 gemhead; +#X msg 527 162 device 0; +#X msg 536 193 driver 1; +#X msg 513 108 dialog; +#X msg 518 138 device /dev/dv1394-0; +#X obj 606 481 pix_opencv_bgsubstract; +#X obj 606 449 pix_resize 320 240; +#X text 728 684 number of vertex of the convexhull; +#X floatatom 753 480 5 0 0 0 - - -; +#X connect 5 0 1 0; +#X connect 5 1 2 0; +#X connect 5 2 3 0; +#X connect 5 3 4 0; +#X connect 5 4 6 0; +#X connect 5 5 7 0; +#X connect 9 0 17 0; +#X connect 9 1 15 0; +#X connect 9 2 5 0; +#X connect 16 0 30 0; #X connect 17 0 18 0; -#X connect 18 0 21 1; -#X connect 19 0 20 0; #X connect 20 0 21 0; -#X connect 21 0 25 0; -#X connect 21 1 13 0; -#X connect 21 2 17 0; -#X connect 22 0 21 0; -#X connect 23 0 22 0; -#X connect 24 0 43 0; -#X connect 25 0 26 0; -#X connect 26 0 9 0; -#X connect 27 0 26 1; -#X connect 28 0 27 0; -#X connect 29 0 28 0; +#X connect 21 0 20 0; +#X connect 22 0 23 0; +#X connect 24 0 42 0; +#X connect 25 0 28 0; +#X connect 26 0 27 0; +#X connect 27 0 30 1; +#X connect 28 0 29 0; +#X connect 29 0 30 0; +#X connect 30 0 43 1; +#X connect 30 2 26 0; +#X connect 31 0 30 0; +#X connect 32 0 31 0; #X connect 34 0 30 0; -#X connect 34 1 31 0; -#X connect 34 2 32 0; -#X connect 34 3 33 0; -#X connect 34 4 35 0; -#X connect 34 5 36 0; -#X connect 39 0 21 0; +#X connect 34 0 45 0; +#X connect 35 0 30 0; +#X connect 36 0 30 0; +#X connect 37 0 34 0; +#X connect 37 0 32 0; +#X connect 38 0 24 0; +#X connect 39 0 41 0; #X connect 40 0 39 0; -#X connect 41 0 21 0; -#X connect 42 0 21 0; -#X connect 43 0 1 0; -#X connect 43 1 37 0; -#X connect 43 2 34 0; +#X connect 41 0 22 0; +#X connect 42 0 52 0; +#X connect 43 0 38 0; +#X connect 43 0 40 0; +#X connect 44 0 43 2; +#X connect 45 0 43 0; +#X connect 46 0 45 0; +#X connect 47 0 45 0; +#X connect 48 0 45 0; +#X connect 49 0 45 0; +#X connect 50 0 45 0; +#X connect 51 0 9 0; +#X connect 52 0 51 0; +#X connect 54 0 51 1; diff --git a/pix_opencv_contours_convexity-help.pd b/pix_opencv_contours_convexity-help.pd index 3d06f75..e57cd0e 100644 --- a/pix_opencv_contours_convexity-help.pd +++ b/pix_opencv_contours_convexity-help.pd @@ -1,13 +1,70 @@ -#N canvas 0 38 1018 740 10; -#X obj 264 18 gemhead; -#X obj 195 378 pix_texture; -#X obj 195 406 square 2; -#X obj 558 -22 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577 +#N canvas 0 25 1680 919 10; +#X obj 598 605 cnv 15 255 67 empty empty empty 20 12 0 14 -24198 -66577 +0; +#X obj 616 648 pix_opencv_contours_convexity; +#X floatatom 782 842 5 0 0 0 - - -; +#X floatatom 817 842 5 0 0 0 - - -; +#X floatatom 847 823 5 0 0 0 - - -; +#X floatatom 881 823 5 0 0 0 - - -; +#X obj 814 695 route 0 1 2 3 4; +#X obj 816 778 unpack 0 0 0 0 0 0; +#X floatatom 911 804 5 0 0 0 - - -; +#X floatatom 945 804 5 0 0 0 - - -; +#X text 916 698 For each convexity defect in our contour; +#X text 855 843 Start point (X -Y); +#X text 919 823 Depth point (X -Y); +#X text 984 805 End point (X -Y); +#X floatatom 1099 838 5 0 0 0 - - -; +#X floatatom 1134 838 5 0 0 0 - - -; +#X floatatom 1164 819 5 0 0 0 - - -; +#X floatatom 1198 819 5 0 0 0 - - -; +#X obj 1133 774 unpack 0 0 0 0 0 0; +#X floatatom 1228 800 5 0 0 0 - - -; +#X floatatom 1262 800 5 0 0 0 - - -; +#X text 1172 839 Start point (X -Y); +#X text 1236 819 Depth point (X -Y); +#X text 1301 801 End point (X -Y); +#X floatatom 1371 844 5 0 0 0 - - -; +#X floatatom 1406 844 5 0 0 0 - - -; +#X floatatom 1436 825 5 0 0 0 - - -; +#X floatatom 1470 825 5 0 0 0 - - -; +#X obj 1405 780 unpack 0 0 0 0 0 0; +#X floatatom 1500 806 5 0 0 0 - - -; +#X floatatom 1534 806 5 0 0 0 - - -; +#X text 1444 845 Start point (X -Y); +#X text 1508 825 Depth point (X -Y); +#X text 1573 807 End point (X -Y); +#X floatatom 1638 853 5 0 0 0 - - -; +#X floatatom 1673 853 5 0 0 0 - - -; +#X floatatom 1703 834 5 0 0 0 - - -; +#X floatatom 1737 834 5 0 0 0 - - -; +#X obj 1672 789 unpack 0 0 0 0 0 0; +#X floatatom 1767 815 5 0 0 0 - - -; +#X floatatom 1801 815 5 0 0 0 - - -; +#X text 1711 854 Start point (X -Y); +#X text 1775 834 Depth point (X -Y); +#X text 1840 816 End point (X -Y); +#X floatatom 722 709 5 0 0 0 - - -; +#X text 718 724 number convexity defects; +#X text 46 156 pix_opencv_contours_convexity :: Finds convexity defects +of the bigest contour of a binary image.; +#X text 45 192 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 pix_threshold to obtain a correct input for pix_opencv_contours_boundingrect. +; +#X text 46 245 pix_opencv_contours_boundingrect works detecting the +bigest white area in the input image \, sometimes you will need to +use pix_opencv_morphology to transform the contours of the shape to +be analyzed..; +#X obj 735 64 gemhead; +#X obj 616 862 pix_texture; +#X obj 616 881 square 2; +#X obj 53 60 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; -#X obj 67 41 route create; +#X obj 65 41 route create; #X msg 67 70 set destroy; #X msg 182 68 set create; #N canvas 87 154 247 179 Gem.init 0; @@ -17,11 +74,11 @@ #X connect 0 0 1 0; #X connect 1 0 2 0; #X restore 289 80 pd Gem.init; -#X obj 160 260 gemwin; -#X msg 159 207 create \, 1; -#X msg 235 208 destroy; -#X msg 281 180 frame 5; -#X obj 162 170 t b b b; +#X obj 162 241 gemwin; +#X msg 161 188 create \, 1; +#X msg 237 189 destroy; +#X msg 283 161 frame 5; +#X obj 164 126 t b b b; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 2 0 10 0; @@ -34,154 +91,138 @@ #X connect 9 0 6 0; #X connect 10 0 7 0; #X connect 10 2 9 0; -#X restore 563 22 pd gemwin; -#X msg 564 0 create; -#X text 560 -20 Create window and render; -#X obj 31 372 pix_texture; -#X obj 31 400 square 2; -#X obj 97 171 translateXYZ -2 0 0; -#X obj 198 228 separator; -#X obj 177 285 cnv 15 255 67 empty empty empty 20 12 0 14 -24198 -66577 -0; -#X obj 342 -62 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +#X restore 63 104 pd gemwin; +#X msg 63 86 create; +#X obj 464 858 pix_texture; +#X obj 464 886 square 2; +#X obj 616 391 separator; +#X obj 747 91 bng 25 250 50 0 load empty empty 0 -6 0 8 -262144 -1 -1; -#X obj 355 132 unpack 0 0 0; -#X floatatom 345 155 5 0 0 3 length - -; -#X floatatom 394 155 5 0 0 3 width - -; -#X floatatom 444 155 5 0 0 3 height - -; -#X obj 399 113 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 +#X obj 804 266 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 -1 -1; -#X floatatom 381 78 5 0 10000 1 frame# - -; -#X obj 342 -33 openpanel; -#X msg 342 -13 open \$1; -#X obj 330 96 pix_film; -#X msg 348 30 auto \$1; -#X obj 348 12 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 -; -#X obj 195 263 translateXYZ 4 0 0; -#X obj 209 114 pix_invert; -#X obj 150 139 pix_threshold; -#X floatatom 256 146 5 0 0 0 - - -; -#X msg 272 195 0.33; -#X obj 310 196 loadbang; -#X obj 195 328 pix_opencv_contours_convexity; -#X floatatom 286 614 5 0 0 0 - - -; -#X floatatom 321 614 5 0 0 0 - - -; -#X floatatom 351 595 5 0 0 0 - - -; -#X floatatom 385 595 5 0 0 0 - - -; -#X obj 393 375 route 0 1 2 3 4; -#X obj 320 550 unpack 0 0 0 0 0 0; -#X floatatom 415 576 5 0 0 0 - - -; -#X floatatom 449 576 5 0 0 0 - - -; -#X text 495 378 For each convexity defect in our contour; -#X text 359 615 Start point (X -Y); -#X text 423 595 Depth point (X -Y); -#X text 488 577 End point (X -Y); -#X floatatom 298 517 5 0 0 0 - - -; -#X floatatom 333 517 5 0 0 0 - - -; -#X floatatom 363 498 5 0 0 0 - - -; -#X floatatom 397 498 5 0 0 0 - - -; -#X obj 332 453 unpack 0 0 0 0 0 0; -#X floatatom 427 479 5 0 0 0 - - -; -#X floatatom 461 479 5 0 0 0 - - -; -#X text 371 518 Start point (X -Y); -#X text 435 498 Depth point (X -Y); -#X text 500 480 End point (X -Y); -#X floatatom 616 524 5 0 0 0 - - -; -#X floatatom 651 524 5 0 0 0 - - -; -#X floatatom 681 505 5 0 0 0 - - -; -#X floatatom 715 505 5 0 0 0 - - -; -#X obj 650 460 unpack 0 0 0 0 0 0; -#X floatatom 745 486 5 0 0 0 - - -; -#X floatatom 779 486 5 0 0 0 - - -; -#X text 689 525 Start point (X -Y); -#X text 753 505 Depth point (X -Y); -#X text 818 487 End point (X -Y); -#X floatatom 601 621 5 0 0 0 - - -; -#X floatatom 636 621 5 0 0 0 - - -; -#X floatatom 666 602 5 0 0 0 - - -; -#X floatatom 700 602 5 0 0 0 - - -; -#X obj 635 557 unpack 0 0 0 0 0 0; -#X floatatom 730 583 5 0 0 0 - - -; -#X floatatom 764 583 5 0 0 0 - - -; -#X text 674 622 Start point (X -Y); -#X text 738 602 Depth point (X -Y); -#X text 803 584 End point (X -Y); -#X floatatom 301 389 5 0 0 0 - - -; -#X text 297 404 number convexity defects; -#X text 505 194 pix_opencv_contours_convexity :: Finds convexity defects -of the bigest contour of a binary image.; -#X text 504 230 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 pix_threshold to obtain a correct input for -pix_opencv_contours_boundingrect.; -#X text 505 283 pix_opencv_contours_boundingrect works detecting the -bigest white area in the input image \, sometimes you will need to -use pix_opencv_morphology to transform the contours of the shape to -be analyzed..; -#X msg 390 54 colorspace RGBA; -#X obj 413 27 loadbang; -#X msg 497 55 colorspace RGB; -#X msg 596 55 colorspace Grey; -#X connect 0 0 21 0; -#X connect 1 0 2 0; -#X connect 4 0 5 0; -#X connect 5 0 4 0; -#X connect 7 0 8 0; -#X connect 9 0 7 0; -#X connect 9 0 10 0; -#X connect 10 0 24 0; -#X connect 12 0 19 0; -#X connect 13 0 14 0; -#X connect 13 1 15 0; -#X connect 13 2 16 0; -#X connect 17 0 18 0; -#X connect 18 0 21 1; -#X connect 19 0 20 0; -#X connect 20 0 21 0; -#X connect 21 0 25 0; -#X connect 21 1 13 0; -#X connect 21 2 17 0; -#X connect 22 0 21 0; -#X connect 23 0 22 0; -#X connect 24 0 30 0; -#X connect 25 0 26 0; -#X connect 26 0 9 0; -#X connect 27 0 26 1; -#X connect 28 0 27 0; -#X connect 29 0 28 0; -#X connect 30 0 1 0; -#X connect 30 1 73 0; -#X connect 30 2 35 0; -#X connect 35 0 36 0; -#X connect 35 1 47 0; -#X connect 35 2 57 0; -#X connect 35 3 67 0; -#X connect 36 0 31 0; -#X connect 36 1 32 0; -#X connect 36 2 33 0; -#X connect 36 3 34 0; -#X connect 36 4 37 0; -#X connect 36 5 38 0; -#X connect 47 0 43 0; -#X connect 47 1 44 0; -#X connect 47 2 45 0; -#X connect 47 3 46 0; -#X connect 47 4 48 0; -#X connect 47 5 49 0; -#X connect 57 0 53 0; -#X connect 57 1 54 0; -#X connect 57 2 55 0; -#X connect 57 3 56 0; -#X connect 57 4 58 0; -#X connect 57 5 59 0; +#X floatatom 786 231 5 0 10000 1 frame# - -; +#X obj 747 120 openpanel; +#X msg 747 140 open \$1; +#X obj 735 249 pix_film; +#X msg 753 183 auto \$1; +#X obj 753 165 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X text 61 66 Create window and render; +#X msg 848 166 colorspace RGBA; +#X msg 953 166 colorspace RGB; +#X msg 1057 166 colorspace Grey; +#X obj 848 138 loadbang; +#X obj 615 362 pix_separator; +#X obj 464 394 separator; +#X obj 464 365 pix_separator; +#X obj 464 429 translateXYZ -2 0 0; +#X obj 616 426 translateXYZ 2 0 0; +#N canvas 0 0 450 300 vswitch 0; +#X obj 144 263 outlet; +#X obj 36 26 inlet; +#X obj 260 29 inlet; +#X obj 36 133 spigot; +#X obj 260 141 spigot; +#X obj 119 64 loadbang; +#X msg 83 93 0; +#X msg 113 93 1; +#X msg 296 104 0; +#X msg 326 104 1; +#X obj 399 34 inlet; +#X obj 399 67 select 0; +#X connect 1 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 7 0; +#X connect 5 0 8 0; +#X connect 6 0 3 1; +#X connect 7 0 3 1; +#X connect 8 0 4 1; +#X connect 9 0 4 1; +#X connect 10 0 11 0; +#X connect 11 0 7 0; +#X connect 11 0 8 0; +#X connect 11 1 9 0; +#X connect 11 1 6 0; +#X restore 557 319 pd vswitch; +#X obj 625 319 tgl 15 0 empty load empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 498 247 pix_video; +#X obj 498 59 gemhead; +#X msg 537 172 device 0; +#X msg 546 203 driver 1; +#X msg 523 118 dialog; +#X msg 528 148 device /dev/dv1394-0; +#X obj 616 491 pix_opencv_bgsubstract; +#X obj 616 459 pix_resize 320 240; +#X floatatom 763 490 5 0 0 0 - - -; +#X connect 1 0 50 0; +#X connect 1 1 44 0; +#X connect 1 2 6 0; +#X connect 6 0 7 0; +#X connect 6 1 18 0; +#X connect 6 2 28 0; +#X connect 6 3 38 0; +#X connect 7 0 2 0; +#X connect 7 1 3 0; +#X connect 7 2 4 0; +#X connect 7 3 5 0; +#X connect 7 4 8 0; +#X connect 7 5 9 0; +#X connect 18 0 14 0; +#X connect 18 1 15 0; +#X connect 18 2 16 0; +#X connect 18 3 17 0; +#X connect 18 4 19 0; +#X connect 18 5 20 0; +#X connect 28 0 24 0; +#X connect 28 1 25 0; +#X connect 28 2 26 0; +#X connect 28 3 27 0; +#X connect 28 4 29 0; +#X connect 28 5 30 0; +#X connect 38 0 34 0; +#X connect 38 1 35 0; +#X connect 38 2 36 0; +#X connect 38 3 37 0; +#X connect 38 4 39 0; +#X connect 38 5 40 0; +#X connect 49 0 63 0; +#X connect 50 0 51 0; +#X connect 53 0 54 0; +#X connect 54 0 53 0; +#X connect 55 0 56 0; +#X connect 57 0 75 0; +#X connect 58 0 61 0; +#X connect 59 0 60 0; +#X connect 60 0 63 1; +#X connect 61 0 62 0; +#X connect 62 0 63 0; +#X connect 63 0 76 1; +#X connect 63 2 59 0; +#X connect 64 0 63 0; +#X connect 65 0 64 0; #X connect 67 0 63 0; -#X connect 67 1 64 0; -#X connect 67 2 65 0; -#X connect 67 3 66 0; -#X connect 67 4 68 0; -#X connect 67 5 69 0; -#X connect 78 0 21 0; +#X connect 67 0 78 0; +#X connect 68 0 63 0; +#X connect 69 0 63 0; +#X connect 70 0 67 0; +#X connect 70 0 65 0; +#X connect 71 0 57 0; +#X connect 72 0 74 0; +#X connect 73 0 72 0; +#X connect 74 0 55 0; +#X connect 75 0 85 0; +#X connect 76 0 71 0; +#X connect 76 0 73 0; +#X connect 77 0 76 2; +#X connect 78 0 76 0; #X connect 79 0 78 0; -#X connect 80 0 21 0; -#X connect 81 0 21 0; +#X connect 80 0 78 0; +#X connect 81 0 78 0; +#X connect 82 0 78 0; +#X connect 83 0 78 0; +#X connect 84 0 1 0; +#X connect 85 0 84 0; +#X connect 86 0 84 1; diff --git a/pix_opencv_dft-help.pd b/pix_opencv_dft-help.pd index c302d11..c9f8ff3 100644 --- a/pix_opencv_dft-help.pd +++ b/pix_opencv_dft-help.pd @@ -1,8 +1,5 @@ -#N canvas 46 183 1154 642 10; -#X obj 396 -37 gemhead; -#X obj 365 380 pix_texture; -#X obj 365 408 square 2; -#X obj 9 -28 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577 +#N canvas 524 186 1133 642 10; +#X obj 16 22 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; @@ -34,78 +31,126 @@ #X connect 9 0 6 0; #X connect 10 0 7 0; #X connect 10 2 9 0; -#X restore 14 16 pd gemwin; -#X msg 14 -5 destroy; -#X text 15 -23 Create window and render; -#X obj 200 368 pix_texture; -#X obj 200 396 square 2; -#X obj 367 159 translateXYZ -2 0 0; -#X obj 367 193 separator; -#X obj 343 221 cnv 15 600 150 empty empty empty 20 12 0 14 -24198 -66577 +#X restore 21 66 pd gemwin; +#X msg 21 45 create; +#X text 22 27 Create window and render; +#X obj 465 478 cnv 15 600 150 empty empty empty 20 12 0 14 -24198 -66577 0; -#X obj 511 -66 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 524 128 unpack 0 0 0; -#X floatatom 514 151 5 0 0 3 length - -; -#X floatatom 563 151 5 0 0 3 width - -; -#X floatatom 613 151 5 0 0 3 height - -; -#X obj 568 109 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 --1 -1; -#X floatatom 561 89 5 0 10000 1 frame# - -; -#X obj 511 -37 openpanel; -#X msg 511 -17 open \$1; -#X obj 499 92 pix_film; -#X msg 517 26 auto \$1; -#X obj 517 8 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 -; -#X obj 364 259 translateXYZ 4 0 0; -#X obj 365 335 pix_opencv_dft; -#X text 8 -64 written by yves degoyon ( ydegoyon@gmail.com ); -#X text 9 -80 this can be used for pattern matching; -#X text 9 -94 pix_opencv_dft : discrete fourier transform; -#X msg 426 282 bang; -#X obj 503 258 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +#X obj 486 577 pix_opencv_dft; +#X text 17 136 written by yves degoyon ( ydegoyon@gmail.com ); +#X text 18 120 this can be used for pattern matching; +#X text 18 106 pix_opencv_dft : discrete fourier transform; +#X msg 548 539 bang; +#X obj 625 515 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1 -1; -#X obj 502 232 loadbang; -#X obj 503 282 metro 100; -#X text 572 282 <-- Calculate Discrete Fourier Transform of the pattern +#X obj 624 489 loadbang; +#X obj 625 539 metro 100; +#X text 694 539 <-- Calculate Discrete Fourier Transform of the pattern ; -#X text 594 293 pdp_opencv_dft is too greedy to be calculayed for every +#X text 716 550 pdp_opencv_dft is too greedy to be calculayed for every ; -#X text 592 306 frame so it is just processed when it receives a bang +#X text 714 563 frame so it is just processed when it receives a bang ; -#X msg 579 28 colorspace RGBA; -#X obj 602 1 loadbang; -#X msg 685 28 colorspace RGB; -#X msg 784 29 colorspace Grey; -#X connect 0 0 21 0; +#X obj 605 42 gemhead; +#X obj 486 695 pix_texture; +#X obj 486 714 square 2; +#X obj 334 691 pix_texture; +#X obj 334 719 square 2; +#X obj 486 369 separator; +#X obj 617 69 bng 25 250 50 0 load empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 674 244 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 +-1 -1; +#X floatatom 656 209 5 0 10000 1 frame# - -; +#X obj 617 98 openpanel; +#X msg 617 118 open \$1; +#X obj 605 227 pix_film; +#X msg 623 161 auto \$1; +#X obj 623 143 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X msg 718 144 colorspace RGBA; +#X msg 823 144 colorspace RGB; +#X msg 927 144 colorspace Grey; +#X obj 718 116 loadbang; +#X obj 485 340 pix_separator; +#X obj 334 372 separator; +#X obj 334 343 pix_separator; +#X obj 334 407 translateXYZ -2 0 0; +#X obj 486 404 translateXYZ 2 0 0; +#N canvas 0 0 450 300 vswitch 0; +#X obj 144 263 outlet; +#X obj 36 26 inlet; +#X obj 260 29 inlet; +#X obj 36 133 spigot; +#X obj 260 141 spigot; +#X obj 119 64 loadbang; +#X msg 83 93 0; +#X msg 113 93 1; +#X msg 296 104 0; +#X msg 326 104 1; +#X obj 399 34 inlet; +#X obj 399 67 select 0; +#X connect 1 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 7 0; +#X connect 5 0 8 0; +#X connect 6 0 3 1; +#X connect 7 0 3 1; +#X connect 8 0 4 1; +#X connect 9 0 4 1; +#X connect 10 0 11 0; +#X connect 11 0 7 0; +#X connect 11 0 8 0; +#X connect 11 1 9 0; +#X connect 11 1 6 0; +#X restore 427 297 pd vswitch; +#X obj 495 297 tgl 15 0 empty load empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 368 225 pix_video; +#X obj 368 37 gemhead; +#X msg 407 150 device 0; +#X msg 416 181 driver 1; +#X msg 393 96 dialog; +#X msg 398 126 device /dev/dv1394-0; #X connect 1 0 2 0; -#X connect 4 0 5 0; -#X connect 5 0 4 0; -#X connect 7 0 8 0; -#X connect 9 0 7 0; -#X connect 9 0 10 0; -#X connect 10 0 24 0; -#X connect 12 0 19 0; -#X connect 13 0 14 0; -#X connect 13 1 15 0; -#X connect 13 2 16 0; +#X connect 2 0 1 0; +#X connect 5 0 17 0; +#X connect 9 0 5 0; +#X connect 10 0 12 0; +#X connect 11 0 10 0; +#X connect 12 0 5 0; +#X connect 16 0 27 0; #X connect 17 0 18 0; -#X connect 18 0 21 1; #X connect 19 0 20 0; -#X connect 20 0 21 0; -#X connect 21 0 9 0; -#X connect 21 1 13 0; -#X connect 21 2 17 0; -#X connect 22 0 21 0; -#X connect 23 0 22 0; -#X connect 24 0 25 0; -#X connect 25 0 1 0; -#X connect 29 0 25 0; -#X connect 30 0 32 0; -#X connect 31 0 30 0; -#X connect 32 0 25 0; -#X connect 36 0 21 0; -#X connect 37 0 36 0; -#X connect 38 0 21 0; -#X connect 39 0 21 0; +#X connect 21 0 38 0; +#X connect 22 0 25 0; +#X connect 23 0 24 0; +#X connect 24 0 27 1; +#X connect 25 0 26 0; +#X connect 26 0 27 0; +#X connect 27 0 39 1; +#X connect 27 2 23 0; +#X connect 28 0 27 0; +#X connect 29 0 28 0; +#X connect 30 0 27 0; +#X connect 30 0 41 0; +#X connect 31 0 27 0; +#X connect 32 0 27 0; +#X connect 33 0 30 0; +#X connect 33 0 29 0; +#X connect 34 0 21 0; +#X connect 35 0 37 0; +#X connect 36 0 35 0; +#X connect 37 0 19 0; +#X connect 38 0 5 0; +#X connect 39 0 34 0; +#X connect 39 0 36 0; +#X connect 40 0 39 2; +#X connect 41 0 39 0; +#X connect 42 0 41 0; +#X connect 43 0 41 0; +#X connect 44 0 41 0; +#X connect 45 0 41 0; +#X connect 46 0 41 0; diff --git a/pix_opencv_distrans-help.pd b/pix_opencv_distrans-help.pd index 84bc754..ba43fb0 100644 --- a/pix_opencv_distrans-help.pd +++ b/pix_opencv_distrans-help.pd @@ -1,9 +1,26 @@ -#N canvas 0 0 871 658 10; -#X obj 286 -33 gemhead; -#X obj 363 431 pix_texture; -#X obj 363 459 square 2; -#X obj 21 160 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577 +#N canvas 633 113 850 637 10; +#X obj 330 416 cnv 15 400 150 empty empty empty 20 12 0 14 -24198 -66577 0; +#X obj 354 524 pix_opencv_distrans; +#X msg 424 431 voronoi \$1; +#X obj 515 431 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 +1; +#X text 534 431 switch Voronoi diagram mode on/off; +#X text 483 457 use 3x3 mask; +#X text 493 476 use 5x5 mask; +#X text 499 495 use precise distance transform; +#X text 554 522 edge threshold; +#X msg 446 495 mask 0; +#X msg 436 476 mask 5; +#X msg 426 456 mask 3; +#X text -118 58 it's a morphology filter that can be used to preprocess +video frames; +#X text -117 83 written by lluis gomez i bigorda ( lluisgomez@hangar.org +); +#X text -118 44 pix_opencv_distrans : distance processing; +#X floatatom 507 522 5 0 0 0 - - -; +#X obj -116 -51 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; @@ -34,77 +51,111 @@ #X connect 9 0 6 0; #X connect 10 0 7 0; #X connect 10 2 9 0; -#X restore 25 203 pd gemwin; -#X msg 26 180 create; -#X text 22 160 Create window and render; -#X obj 200 368 pix_texture; -#X obj 200 396 square 2; -#X obj 266 167 translateXYZ -2 0 0; -#X obj 367 224 separator; -#X obj 335 278 cnv 15 400 150 empty empty empty 20 12 0 14 -24198 -66577 -0; -#X obj 511 -66 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +#X restore -111 -7 pd gemwin; +#X msg -111 -28 create; +#X text -110 -46 Create window and render; +#X obj 473 -31 gemhead; +#X obj 354 622 pix_texture; +#X obj 354 641 square 2; +#X obj 202 618 pix_texture; +#X obj 202 646 square 2; +#X obj 354 296 separator; +#X obj 485 -4 bng 25 250 50 0 load empty empty 0 -6 0 8 -262144 -1 -1; -#X obj 524 128 unpack 0 0 0; -#X floatatom 514 151 5 0 0 3 length - -; -#X floatatom 563 151 5 0 0 3 width - -; -#X floatatom 613 151 5 0 0 3 height - -; -#X obj 568 109 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 +#X obj 542 171 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 -1 -1; -#X floatatom 550 74 5 0 10000 1 frame# - -; -#X obj 511 -37 openpanel; -#X msg 511 -17 open \$1; -#X obj 499 92 pix_film; -#X msg 517 26 auto \$1; -#X obj 517 8 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 +#X floatatom 524 136 5 0 10000 1 frame# - -; +#X obj 485 25 openpanel; +#X msg 485 45 open \$1; +#X obj 473 154 pix_film; +#X msg 491 88 auto \$1; +#X obj 491 70 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 ; -#X msg 528 50 colorspace Grey; -#X obj 367 253 translateXYZ 4 0 0; -#X obj 359 386 pix_opencv_distrans; -#X msg 429 293 voronoi \$1; -#X obj 520 293 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +#X msg 586 71 colorspace RGBA; +#X msg 691 71 colorspace RGB; +#X msg 795 71 colorspace Grey; +#X obj 586 43 loadbang; +#X obj 353 267 pix_separator; +#X obj 202 299 separator; +#X obj 202 270 pix_separator; +#X obj 202 334 translateXYZ -2 0 0; +#X obj 354 331 translateXYZ 2 0 0; +#N canvas 0 0 450 300 vswitch 0; +#X obj 144 263 outlet; +#X obj 36 26 inlet; +#X obj 260 29 inlet; +#X obj 36 133 spigot; +#X obj 260 141 spigot; +#X obj 119 64 loadbang; +#X msg 83 93 0; +#X msg 113 93 1; +#X msg 296 104 0; +#X msg 326 104 1; +#X obj 399 34 inlet; +#X obj 399 67 select 0; +#X connect 1 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 7 0; +#X connect 5 0 8 0; +#X connect 6 0 3 1; +#X connect 7 0 3 1; +#X connect 8 0 4 1; +#X connect 9 0 4 1; +#X connect 10 0 11 0; +#X connect 11 0 7 0; +#X connect 11 0 8 0; +#X connect 11 1 9 0; +#X connect 11 1 6 0; +#X restore 295 224 pd vswitch; +#X obj 363 224 tgl 15 0 empty load empty 17 7 0 10 -262144 -1 -1 0 1; -#X text 539 293 switch Voronoi diagram mode on/off; -#X text 488 319 use 3x3 mask; -#X text 498 338 use 5x5 mask; -#X text 504 357 use precise distance transform; -#X text 559 384 edge threshold; -#X msg 451 357 mask 0; -#X msg 441 338 mask 5; -#X msg 431 318 mask 3; -#X text 22 55 it's a morphology filter that can be used to preprocess -video frames; -#X text 23 80 written by lluis gomez i bigorda ( lluisgomez@hangar.org -); -#X text 22 41 pix_opencv_distrans : distance processing; -#X floatatom 512 384 5 0 0 0 - - -; -#X connect 0 0 21 0; -#X connect 1 0 2 0; -#X connect 4 0 5 0; -#X connect 5 0 4 0; -#X connect 7 0 8 0; -#X connect 9 0 7 0; -#X connect 9 0 10 0; -#X connect 10 0 25 0; -#X connect 12 0 19 0; -#X connect 13 0 14 0; -#X connect 13 1 15 0; -#X connect 13 2 16 0; +#X obj 236 152 pix_video; +#X obj 236 -36 gemhead; +#X msg 275 77 device 0; +#X msg 284 108 driver 1; +#X msg 261 23 dialog; +#X msg 266 53 device /dev/dv1394-0; +#X connect 1 0 21 0; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 9 0 1 0; +#X connect 10 0 1 0; +#X connect 11 0 1 0; +#X connect 15 0 1 1; #X connect 17 0 18 0; -#X connect 18 0 21 1; -#X connect 19 0 20 0; -#X connect 20 0 21 0; -#X connect 21 0 9 0; -#X connect 21 1 13 0; -#X connect 21 2 17 0; -#X connect 22 0 21 0; -#X connect 23 0 22 0; -#X connect 24 0 21 0; -#X connect 25 0 26 0; -#X connect 26 0 1 0; -#X connect 27 0 26 0; -#X connect 28 0 27 0; -#X connect 34 0 26 0; -#X connect 35 0 26 0; -#X connect 36 0 26 0; -#X connect 40 0 26 1; +#X connect 18 0 17 0; +#X connect 20 0 31 0; +#X connect 21 0 22 0; +#X connect 23 0 24 0; +#X connect 25 0 42 0; +#X connect 26 0 29 0; +#X connect 27 0 28 0; +#X connect 28 0 31 1; +#X connect 29 0 30 0; +#X connect 30 0 31 0; +#X connect 31 0 43 1; +#X connect 31 2 27 0; +#X connect 32 0 31 0; +#X connect 33 0 32 0; +#X connect 34 0 31 0; +#X connect 34 0 45 0; +#X connect 35 0 31 0; +#X connect 36 0 31 0; +#X connect 37 0 34 0; +#X connect 37 0 33 0; +#X connect 38 0 25 0; +#X connect 39 0 41 0; +#X connect 40 0 39 0; +#X connect 41 0 23 0; +#X connect 42 0 1 0; +#X connect 43 0 38 0; +#X connect 43 0 40 0; +#X connect 44 0 43 2; +#X connect 45 0 43 0; +#X connect 46 0 45 0; +#X connect 47 0 45 0; +#X connect 48 0 45 0; +#X connect 49 0 45 0; +#X connect 50 0 45 0; diff --git a/pix_opencv_edge-help.pd b/pix_opencv_edge-help.pd index e28c9f9..813d913 100644 --- a/pix_opencv_edge-help.pd +++ b/pix_opencv_edge-help.pd @@ -1,13 +1,18 @@ -#N canvas 139 94 805 652 10; -#X obj 286 -33 gemhead; -#X obj 364 374 pix_texture; -#X obj 364 402 square 2; -#X obj 23 230 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577 +#N canvas 582 152 784 631 10; +#X obj 347 391 cnv 15 300 67 empty empty empty 20 12 0 14 -24198 -66577 0; +#X obj 364 407 pix_opencv_edge; +#X floatatom 493 406 5 0 0 0 - - -; +#X text 536 405 edge threshold; +#X text -110 60 written by lluis gomez i bigorda ( lluisgomez@hangar.org +); +#X text -109 44 pix_opencv_edge : edge detection filter; +#X obj -106 -41 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; -#X obj 69 37 route create; +#X obj 67 41 route create; #X msg 67 70 set destroy; #X msg 182 68 set create; #N canvas 87 154 247 179 Gem.init 0; @@ -34,60 +39,106 @@ #X connect 9 0 6 0; #X connect 10 0 7 0; #X connect 10 2 9 0; -#X restore 28 274 pd gemwin; -#X msg 28 250 destroy; -#X text 29 232 Create window and render; -#X obj 266 365 pix_texture; -#X obj 266 393 square 2; -#X obj 266 167 translateXYZ -2 0 0; -#X obj 367 224 separator; -#X obj 347 281 cnv 15 300 67 empty empty empty 20 12 0 14 -24198 -66577 -0; -#X obj 511 -66 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 524 128 unpack 0 0 0; -#X floatatom 514 151 5 0 0 3 length - -; -#X floatatom 563 151 5 0 0 3 width - -; -#X floatatom 613 151 5 0 0 3 height - -; -#X obj 568 109 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 +#X restore -101 3 pd gemwin; +#X msg -101 -18 create; +#X text -100 -36 Create window and render; +#X obj 483 -21 gemhead; +#X obj 364 632 pix_texture; +#X obj 364 651 square 2; +#X obj 212 628 pix_texture; +#X obj 212 656 square 2; +#X obj 364 306 separator; +#X obj 495 6 bng 25 250 50 0 load empty empty 0 -6 0 8 -262144 -1 -1 +; +#X obj 552 181 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 -1 -1; -#X floatatom 550 74 5 0 10000 1 frame# - -; -#X obj 511 -37 openpanel; -#X msg 511 -17 open \$1; -#X obj 499 92 pix_film; -#X msg 517 26 auto \$1; -#X obj 517 8 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +#X floatatom 534 146 5 0 10000 1 frame# - -; +#X obj 495 35 openpanel; +#X msg 495 55 open \$1; +#X obj 483 164 pix_film; +#X msg 501 98 auto \$1; +#X obj 501 80 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 ; -#X msg 528 50 colorspace Grey; -#X obj 364 259 translateXYZ 4 0 0; -#X obj 364 297 pix_opencv_edge; -#X floatatom 493 296 5 0 0 0 - - -; -#X text 536 295 edge threshold; -#X text 18 86 written by lluis gomez i bigorda ( lluisgomez@hangar.org -); -#X text 19 70 pix_opencv_edge : edge detection filter; -#X connect 0 0 21 0; -#X connect 1 0 2 0; -#X connect 4 0 5 0; -#X connect 5 0 4 0; +#X msg 596 81 colorspace RGBA; +#X msg 701 81 colorspace RGB; +#X msg 805 81 colorspace Grey; +#X obj 596 53 loadbang; +#X obj 363 277 pix_separator; +#X obj 212 309 separator; +#X obj 212 280 pix_separator; +#X obj 212 344 translateXYZ -2 0 0; +#X obj 364 341 translateXYZ 2 0 0; +#N canvas 0 0 450 300 vswitch 0; +#X obj 144 263 outlet; +#X obj 36 26 inlet; +#X obj 260 29 inlet; +#X obj 36 133 spigot; +#X obj 260 141 spigot; +#X obj 119 64 loadbang; +#X msg 83 93 0; +#X msg 113 93 1; +#X msg 296 104 0; +#X msg 326 104 1; +#X obj 399 34 inlet; +#X obj 399 67 select 0; +#X connect 1 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 7 0; +#X connect 5 0 8 0; +#X connect 6 0 3 1; +#X connect 7 0 3 1; +#X connect 8 0 4 1; +#X connect 9 0 4 1; +#X connect 10 0 11 0; +#X connect 11 0 7 0; +#X connect 11 0 8 0; +#X connect 11 1 9 0; +#X connect 11 1 6 0; +#X restore 305 234 pd vswitch; +#X obj 373 234 tgl 15 0 empty load empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 246 162 pix_video; +#X obj 246 -26 gemhead; +#X msg 285 87 device 0; +#X msg 294 118 driver 1; +#X msg 271 33 dialog; +#X msg 276 63 device /dev/dv1394-0; +#X connect 1 0 11 0; +#X connect 2 0 1 1; #X connect 7 0 8 0; -#X connect 9 0 7 0; -#X connect 9 0 10 0; -#X connect 10 0 25 0; -#X connect 12 0 19 0; +#X connect 8 0 7 0; +#X connect 10 0 21 0; +#X connect 11 0 12 0; #X connect 13 0 14 0; -#X connect 13 1 15 0; -#X connect 13 2 16 0; +#X connect 15 0 32 0; +#X connect 16 0 19 0; #X connect 17 0 18 0; #X connect 18 0 21 1; #X connect 19 0 20 0; #X connect 20 0 21 0; -#X connect 21 0 9 0; -#X connect 21 1 13 0; +#X connect 21 0 33 1; #X connect 21 2 17 0; #X connect 22 0 21 0; #X connect 23 0 22 0; #X connect 24 0 21 0; -#X connect 25 0 26 0; -#X connect 26 0 1 0; -#X connect 27 0 26 1; +#X connect 24 0 35 0; +#X connect 25 0 21 0; +#X connect 26 0 21 0; +#X connect 27 0 24 0; +#X connect 27 0 23 0; +#X connect 28 0 15 0; +#X connect 29 0 31 0; +#X connect 30 0 29 0; +#X connect 31 0 13 0; +#X connect 32 0 1 0; +#X connect 33 0 28 0; +#X connect 33 0 30 0; +#X connect 34 0 33 2; +#X connect 35 0 33 0; +#X connect 36 0 35 0; +#X connect 37 0 35 0; +#X connect 38 0 35 0; +#X connect 39 0 35 0; +#X connect 40 0 35 0; diff --git a/pix_opencv_floodfill-help.pd b/pix_opencv_floodfill-help.pd index d3326c9..7da304f 100644 --- a/pix_opencv_floodfill-help.pd +++ b/pix_opencv_floodfill-help.pd @@ -1,7 +1,5 @@ -#N canvas 248 107 1192 685 10; -#X obj 396 -37 gemhead; -#X obj 212 501 pix_texture; -#X obj 28 132 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577 +#N canvas 409 124 1171 685 10; +#X obj -96 -15 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; @@ -41,124 +39,163 @@ #X connect 10 1 9 0; #X connect 10 2 11 0; #X connect 11 0 6 0; -#X restore 35 178 pd gemwin; -#X msg 36 156 destroy; -#X text 36 135 Create window and render; -#X obj 340 181 cnv 15 600 350 empty empty empty 20 12 0 14 -24198 -66577 +#X restore -89 31 pd gemwin; +#X msg -88 9 create; +#X text -88 -12 Create window and render; +#X obj 288 360 cnv 15 600 350 empty empty empty 20 12 0 14 -24198 -66577 0; -#X obj 511 -66 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +#X obj 795 192 gemmouse; +#X obj 851 299 f; +#X obj 821 298 f; +#X obj 865 270 t b b; +#X obj 821 326 pack f f; +#X obj 841 220 route 1; +#X msg 862 245 bang; +#X obj 315 603 pix_opencv_floodfill; +#X text -99 97 used in tracking algorithms as an object selector; +#X text -99 124 and Yves Degoyon ( ydegoyon@gmail.com ); +#X text -100 74 pdp_opencv_floodfill : mark image components with a +specific color; +#X text -99 110 Written by Lluis Gomez i Bigorda ( lluisgomez@hangar.org +); +#X floatatom 406 555 5 0 0 0 - - -; +#X floatatom 414 576 5 0 0 0 - - -; +#X msg 350 386 mark \$1 \$2; +#X msg 397 535 color \$1; +#X obj 459 536 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X text 485 534 activate color mode ( default : on ); +#X msg 381 461 fillcolor 1 255 0 123; +#X text 519 462 fillcolor of nth component ( 1 < n < 10 ); +#X text 425 372 mark %x %y : mark a component; +#X text 425 384 ( 0 <= %x <= 1 ); +#X text 426 395 ( 0 <= %y <= 1 ); +#X msg 365 414 delete 1; +#X msg 379 436 clear; +#X text 425 414 delete a component ( 1 <= index <= 10 ); +#X text 428 436 delete all components; +#X text 479 497 set connectivity ( default 4 ); +#X text 448 555 lower tolerance ( default 20 ); +#X text 454 575 upper tolerance ( default 20 ); +#X obj 432 631 route 0 1 2 3 4 5 6 7 8 9; +#X floatatom 433 676 5 0 0 0 - - -; +#X floatatom 469 677 5 0 0 0 - - -; +#X floatatom 505 677 5 0 0 0 - - -; +#X floatatom 541 677 5 0 0 0 - - -; +#X obj 433 654 unpack f f f f; +#X text 435 693 X; +#X text 472 693 Y; +#X text 504 694 Width; +#X text 542 694 Height; +#X text 591 632 detected components; +#X msg 385 486 connectivity 4; +#X msg 387 509 connectivity 8; +#X obj 493 -11 gemhead; +#X obj 315 745 pix_texture; +#X obj 505 16 bng 25 250 50 0 load empty empty 0 -6 0 8 -262144 -1 -1; -#X obj 524 128 unpack 0 0 0; -#X floatatom 514 151 5 0 0 3 length - -; -#X floatatom 563 151 5 0 0 3 width - -; -#X floatatom 613 151 5 0 0 3 height - -; -#X obj 568 109 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 +#X obj 562 191 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 -1 -1; -#X floatatom 550 74 5 0 10000 1 frame# - -; -#X obj 511 -37 openpanel; -#X msg 511 -17 open \$1; -#X obj 499 92 pix_film; -#X msg 517 26 auto \$1; -#X obj 517 8 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +#X floatatom 544 156 5 0 10000 1 frame# - -; +#X obj 505 45 openpanel; +#X msg 505 65 open \$1; +#X obj 493 174 pix_film; +#X msg 511 108 auto \$1; +#X obj 511 90 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 ; -#X obj 822 22 gemmouse; -#X obj 878 129 f; -#X obj 848 128 f; -#X obj 892 100 t b b; -#X obj 848 156 pack f f; -#X obj 868 50 route 1; -#X msg 889 75 bang; -#X obj 367 424 pix_opencv_floodfill; -#X text 56 60 used in tracking algorithms as an object selector; -#X text 56 87 and Yves Degoyon ( ydegoyon@gmail.com ); -#X text 55 37 pdp_opencv_floodfill : mark image components with a specific -color; -#X text 56 73 Written by Lluis Gomez i Bigorda ( lluisgomez@hangar.org -); -#X floatatom 458 376 5 0 0 0 - - -; -#X floatatom 466 397 5 0 0 0 - - -; -#X msg 402 207 mark \$1 \$2; -#X msg 449 356 color \$1; -#X obj 511 357 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +#X msg 606 91 colorspace RGBA; +#X msg 711 91 colorspace RGB; +#X msg 815 91 colorspace Grey; +#X obj 606 63 loadbang; +#N canvas 0 0 450 300 vswitch 0; +#X obj 144 263 outlet; +#X obj 36 26 inlet; +#X obj 260 29 inlet; +#X obj 36 133 spigot; +#X obj 260 141 spigot; +#X obj 119 64 loadbang; +#X msg 83 93 0; +#X msg 113 93 1; +#X msg 296 104 0; +#X msg 326 104 1; +#X obj 399 34 inlet; +#X obj 399 67 select 0; +#X connect 1 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 7 0; +#X connect 5 0 8 0; +#X connect 6 0 3 1; +#X connect 7 0 3 1; +#X connect 8 0 4 1; +#X connect 9 0 4 1; +#X connect 10 0 11 0; +#X connect 11 0 7 0; +#X connect 11 0 8 0; +#X connect 11 1 9 0; +#X connect 11 1 6 0; +#X restore 315 244 pd vswitch; +#X obj 383 244 tgl 15 0 empty load empty 17 7 0 10 -262144 -1 -1 0 1; -#X text 537 355 activate color mode ( default : on ); -#X msg 433 282 fillcolor 1 255 0 123; -#X text 571 283 fillcolor of nth component ( 1 < n < 10 ); -#X text 477 193 mark %x %y : mark a component; -#X text 477 205 ( 0 <= %x <= 1 ); -#X text 478 216 ( 0 <= %y <= 1 ); -#X msg 417 235 delete 1; -#X msg 431 257 clear; -#X text 477 235 delete a component ( 1 <= index <= 10 ); -#X text 480 257 delete all components; -#X text 531 318 set connectivity ( default 4 ); -#X text 500 376 lower tolerance ( default 20 ); -#X text 506 396 upper tolerance ( default 20 ); -#X obj 484 452 route 0 1 2 3 4 5 6 7 8 9; -#X floatatom 485 497 5 0 0 0 - - -; -#X floatatom 521 498 5 0 0 0 - - -; -#X floatatom 557 498 5 0 0 0 - - -; -#X floatatom 593 498 5 0 0 0 - - -; -#X obj 485 475 unpack f f f f; -#X text 487 514 X; -#X text 524 514 Y; -#X text 556 515 Width; -#X text 594 515 Height; -#X text 643 453 detected components; -#X msg 437 307 connectivity 4; -#X msg 439 330 connectivity 8; -#X obj 211 525 pix_resize 320 240; -#X obj 212 555 rectangle 4 3; -#X msg 581 30 colorspace RGBA; -#X obj 604 3 loadbang; -#X msg 686 29 colorspace RGB; -#X msg 682 5 colorspace Grey; -#X connect 0 0 16 0; -#X connect 1 0 62 0; -#X connect 3 0 4 0; -#X connect 4 0 3 0; -#X connect 7 0 14 0; -#X connect 8 0 9 0; -#X connect 8 1 10 0; -#X connect 8 2 11 0; -#X connect 12 0 13 0; -#X connect 13 0 16 1; -#X connect 14 0 15 0; -#X connect 15 0 16 0; -#X connect 16 0 26 0; -#X connect 16 1 8 0; -#X connect 16 2 12 0; -#X connect 17 0 16 0; -#X connect 18 0 17 0; -#X connect 19 0 21 1; -#X connect 19 1 20 1; -#X connect 19 2 24 0; -#X connect 20 0 23 1; -#X connect 21 0 23 0; -#X connect 22 0 21 0; -#X connect 22 1 20 0; -#X connect 23 0 33 0; -#X connect 24 0 25 0; -#X connect 25 0 22 0; -#X connect 26 0 1 0; -#X connect 26 1 49 0; -#X connect 31 0 26 1; -#X connect 32 0 26 2; -#X connect 33 0 26 0; -#X connect 34 0 26 0; -#X connect 35 0 34 0; -#X connect 37 0 26 0; -#X connect 42 0 26 0; -#X connect 43 0 26 0; -#X connect 49 0 54 0; -#X connect 54 0 50 0; -#X connect 54 1 51 0; -#X connect 54 2 52 0; -#X connect 54 3 53 0; -#X connect 60 0 26 0; -#X connect 61 0 26 0; -#X connect 62 0 63 0; -#X connect 64 0 16 0; +#X obj 256 172 pix_video; +#X obj 256 -16 gemhead; +#X msg 295 97 device 0; +#X msg 304 128 driver 1; +#X msg 281 43 dialog; +#X msg 286 73 device /dev/dv1394-0; +#X obj 315 764 rectangle 5.3 4; +#X connect 1 0 2 0; +#X connect 2 0 1 0; +#X connect 5 0 7 1; +#X connect 5 1 6 1; +#X connect 5 2 10 0; +#X connect 6 0 9 1; +#X connect 7 0 9 0; +#X connect 8 0 7 0; +#X connect 8 1 6 0; +#X connect 9 0 19 0; +#X connect 10 0 11 0; +#X connect 11 0 8 0; +#X connect 12 0 49 0; +#X connect 12 1 35 0; +#X connect 17 0 12 1; +#X connect 18 0 12 2; +#X connect 19 0 12 0; +#X connect 20 0 12 0; +#X connect 21 0 20 0; +#X connect 23 0 12 0; +#X connect 28 0 12 0; +#X connect 29 0 12 0; +#X connect 35 0 40 0; +#X connect 40 0 36 0; +#X connect 40 1 37 0; +#X connect 40 2 38 0; +#X connect 40 3 39 0; +#X connect 46 0 12 0; +#X connect 47 0 12 0; +#X connect 48 0 55 0; +#X connect 49 0 70 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 62 1; +#X connect 55 2 51 0; +#X connect 56 0 55 0; +#X connect 57 0 56 0; +#X connect 58 0 55 0; +#X connect 58 0 64 0; +#X connect 59 0 55 0; +#X connect 60 0 55 0; +#X connect 61 0 58 0; +#X connect 61 0 57 0; +#X connect 62 0 12 0; +#X connect 63 0 62 2; +#X connect 64 0 62 0; #X connect 65 0 64 0; -#X connect 66 0 16 0; -#X connect 67 0 16 0; +#X connect 66 0 64 0; +#X connect 67 0 64 0; +#X connect 68 0 64 0; +#X connect 69 0 64 0; diff --git a/pix_opencv_haarcascade-help.pd b/pix_opencv_haarcascade-help.pd index 433d0be..8e8e701 100644 --- a/pix_opencv_haarcascade-help.pd +++ b/pix_opencv_haarcascade-help.pd @@ -1,13 +1,71 @@ -#N canvas 349 81 1091 744 10; -#X obj 266 -83 gemhead; -#X obj 87 544 pix_texture; -#X obj 87 577 square 2; -#X obj 9 -74 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577 +#N canvas 525 106 1091 744 10; +#X obj 613 540 cnv 15 650 250 empty empty empty 20 12 0 14 -24198 -66577 +0; +#X floatatom 792 876 5 0 0 0 - - -; +#X floatatom 827 876 5 0 0 0 - - -; +#X floatatom 864 876 5 0 0 0 - - -; +#X floatatom 935 876 5 0 0 0 - - -; +#X floatatom 970 876 5 0 0 0 - - -; +#X floatatom 1007 876 5 0 0 0 - - -; +#X floatatom 1073 878 5 0 0 0 - - -; +#X floatatom 1108 878 5 0 0 0 - - -; +#X obj 616 765 pix_opencv_haarcascade; +#X obj 702 544 openpanel; +#X obj 779 822 route 0 1 2 3 4; +#X text 779 894 Xcenter Ycenter Radius; +#X text 924 893 Xcenter Ycenter Radius; +#X obj 789 847 unpack 0 0 0; +#X obj 932 847 unpack 0 0 0; +#X obj 1070 849 unpack 0 0 0; +#X floatatom 1148 877 5 0 0 0 - - -; +#X text 1067 894 Xcenter Ycenter Radius; +#X msg 642 545 load \$1; +#X text 792 546 Load a trained cascade classifier from XML file; +#X obj 772 544 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 +-1 -1; +#X floatatom 809 641 5 0 0 0 - - -; +#X floatatom 763 612 5 0 0 0 - - -; +#X msg 662 578 mode \$1; +#X obj 723 578 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X msg 672 611 min_size \$1; +#X msg 686 638 min_neighbors \$1; +#X text 847 630 Minimum number (minus 1) of neighbor rectangles that +makes up an object (default 2); +#X msg 715 671 scale_factor \$1; +#X floatatom 833 671 5 0 0 0 - - -; +#X text 877 670 The factor by which the search window is scaled between +the subsequent scans (default 1.1); +#X text 879 822 For each object detected; +#X floatatom 686 796 5 0 0 0 - - -; +#X text 725 796 number of objects detected; +#X text 804 613 Minimum size of object (default 30); +#X msg 743 700 ftolerance \$1; +#X floatatom 833 701 5 0 0 0 - - -; +#X msg 748 724 clear; +#X text 874 708 temporarily ( default 5 ); +#X text 874 696 number of frames where an object can disappear; +#X text 793 725 clear markers history; +#X text 745 575 Mode of operation. Currently the only flag that may +be specified is CV_HAAR_DO_CANNY_PRUNING ( 0 ); +#X text 46 169 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 pix_threshold to obtain a correct input for pix_opencv_contours_boundingrect. +; +#X text 47 222 pix_opencv_contours_convexhull works detecting the bigest +white area in the input image \, sometimes you will need to use pix_opencv_morphology +to transform the contours of the shape to be analyzed..; +#X text 47 133 pix_opencv_contours_convexhull :: Finds convexhull of +the bigest contour of a binary image.; +#X obj 735 64 gemhead; +#X obj 616 862 pix_texture; +#X obj 616 881 square 2; +#X obj 53 60 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; -#X obj 67 41 route create; +#X obj 65 41 route create; #X msg 67 70 set destroy; #X msg 182 68 set create; #N canvas 87 154 247 179 Gem.init 0; @@ -17,11 +75,11 @@ #X connect 0 0 1 0; #X connect 1 0 2 0; #X restore 289 80 pd Gem.init; -#X obj 160 260 gemwin; -#X msg 159 207 create \, 1; -#X msg 235 208 destroy; -#X msg 281 180 frame 5; -#X obj 162 170 t b b b; +#X obj 162 241 gemwin; +#X msg 161 188 create \, 1; +#X msg 237 189 destroy; +#X msg 283 161 frame 5; +#X obj 164 126 t b b b; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 2 0 10 0; @@ -34,133 +92,132 @@ #X connect 9 0 6 0; #X connect 10 0 7 0; #X connect 10 2 9 0; -#X restore 14 -30 pd gemwin; -#X msg 14 -52 destroy; -#X text 10 -74 Create window and render; -#X obj 5 544 pix_texture; -#X obj 5 572 square 2; -#X obj 37 160 translateXYZ -2 0 0; -#X obj 85 247 cnv 15 650 250 empty empty empty 20 12 0 14 -24198 -66577 -0; -#X obj 278 -56 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +#X restore 63 104 pd gemwin; +#X msg 63 86 create; +#X obj 464 858 pix_texture; +#X obj 464 886 square 2; +#X obj 616 391 separator; +#X obj 747 91 bng 25 250 50 0 load empty empty 0 -6 0 8 -262144 -1 -1; -#X obj 335 119 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 +#X obj 804 266 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 -1 -1; -#X floatatom 332 102 5 0 10000 1 frame# - -; -#X obj 278 -27 openpanel; -#X msg 278 -7 open \$1; -#X obj 266 102 pix_film; -#X msg 284 36 auto \$1; -#X obj 284 18 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 -; -#X obj 87 221 translateXYZ 4 0 0; -#X floatatom 264 583 5 0 0 0 - - -; -#X floatatom 299 583 5 0 0 0 - - -; -#X floatatom 336 583 5 0 0 0 - - -; -#X floatatom 407 583 5 0 0 0 - - -; -#X floatatom 442 583 5 0 0 0 - - -; -#X floatatom 479 583 5 0 0 0 - - -; -#X floatatom 545 585 5 0 0 0 - - -; -#X floatatom 580 585 5 0 0 0 - - -; -#X obj 88 472 pix_opencv_haarcascade; -#X obj 90 186 separator; -#X obj 174 251 openpanel; -#X obj 251 529 route 0 1 2 3 4; -#X text 251 601 Xcenter Ycenter Radius; -#X text 396 600 Xcenter Ycenter Radius; -#X obj 261 554 unpack 0 0 0; -#X obj 404 554 unpack 0 0 0; -#X obj 542 556 unpack 0 0 0; -#X floatatom 620 584 5 0 0 0 - - -; -#X text 539 601 Xcenter Ycenter Radius; -#X msg 114 252 load \$1; -#X text 264 253 Load a trained cascade classifier from XML file; -#X obj 244 251 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 --1 -1; -#X floatatom 281 348 5 0 0 0 - - -; -#X floatatom 235 319 5 0 0 0 - - -; -#X msg 134 285 mode \$1; -#X obj 195 285 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +#X floatatom 786 231 5 0 10000 1 frame# - -; +#X obj 747 120 openpanel; +#X msg 747 140 open \$1; +#X obj 735 249 pix_film; +#X msg 753 183 auto \$1; +#X obj 753 165 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; -#X msg 144 318 min_size \$1; -#X msg 158 345 min_neighbors \$1; -#X text 319 337 Minimum number (minus 1) of neighbor rectangles that -makes up an object (default 2); -#X msg 187 378 scale_factor \$1; -#X floatatom 305 378 5 0 0 0 - - -; -#X text 349 377 The factor by which the search window is scaled between -the subsequent scans (default 1.1); -#X text 351 529 For each object detected; -#X floatatom 158 503 5 0 0 0 - - -; -#X text 197 503 number of objects detected; -#X text 399 -22 used for face detection by default; -#X text 396 -10 ( load haarscascase_frontalface_alt.xml ); -#X text 400 6 Written by Lluis Gomez i Bigorda ( lluisgomez@hangar.org -); -#X text 399 18 and Yves Degoyon ( ydegoyon@gmail.com ); -#X text 276 320 Minimum size of object (default 30); -#X msg 215 407 ftolerance \$1; -#X floatatom 305 408 5 0 0 0 - - -; -#X msg 220 431 clear; -#X text 346 415 temporarily ( default 5 ); -#X text 346 403 number of frames where an object can disappear; -#X text 265 432 clear markers history; -#X text 217 282 Mode of operation. Currently the only flag that may -be specified is CV_HAAR_DO_CANNY_PRUNING ( 0 ); -#X text 401 -47 pix_opencv_haarscasccade : object recognition based -on Haar's cascade algorithm; -#X msg 348 69 colorspace RGBA; -#X obj 371 42 loadbang; -#X msg 453 68 colorspace RGB; -#X msg 449 44 colorspace Grey; -#X connect 0 0 16 0; -#X connect 1 0 2 0; -#X connect 4 0 5 0; -#X connect 5 0 4 0; -#X connect 7 0 8 0; -#X connect 9 0 7 0; -#X connect 9 0 29 0; +#X text 61 66 Create window and render; +#X msg 848 166 colorspace RGBA; +#X msg 953 166 colorspace RGB; +#X msg 1057 166 colorspace Grey; +#X obj 848 138 loadbang; +#X obj 615 362 pix_separator; +#X obj 464 394 separator; +#X obj 464 365 pix_separator; +#X obj 464 429 translateXYZ -2 0 0; +#X obj 616 426 translateXYZ 2 0 0; +#N canvas 0 0 450 300 vswitch 0; +#X obj 144 263 outlet; +#X obj 36 26 inlet; +#X obj 260 29 inlet; +#X obj 36 133 spigot; +#X obj 260 141 spigot; +#X obj 119 64 loadbang; +#X msg 83 93 0; +#X msg 113 93 1; +#X msg 296 104 0; +#X msg 326 104 1; +#X obj 399 34 inlet; +#X obj 399 67 select 0; +#X connect 1 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 7 0; +#X connect 5 0 8 0; +#X connect 6 0 3 1; +#X connect 7 0 3 1; +#X connect 8 0 4 1; +#X connect 9 0 4 1; +#X connect 10 0 11 0; +#X connect 11 0 7 0; +#X connect 11 0 8 0; +#X connect 11 1 9 0; +#X connect 11 1 6 0; +#X restore 557 319 pd vswitch; +#X obj 625 319 tgl 15 0 empty load empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 498 247 pix_video; +#X obj 498 59 gemhead; +#X msg 537 172 device 0; +#X msg 546 203 driver 1; +#X msg 523 118 dialog; +#X msg 528 148 device /dev/dv1394-0; +#X obj 616 459 pix_resize 320 240; +#X connect 9 0 47 0; +#X connect 9 1 33 0; +#X connect 9 2 11 0; +#X connect 10 0 19 0; #X connect 11 0 14 0; -#X connect 12 0 13 0; -#X connect 13 0 16 1; -#X connect 14 0 15 0; -#X connect 15 0 16 0; -#X connect 16 0 9 0; -#X connect 16 2 12 0; -#X connect 17 0 16 0; -#X connect 18 0 17 0; -#X connect 19 0 28 0; -#X connect 28 0 1 0; -#X connect 28 1 53 0; -#X connect 28 2 31 0; -#X connect 29 0 19 0; -#X connect 30 0 39 0; -#X connect 31 0 34 0; -#X connect 31 1 35 0; -#X connect 31 2 36 0; -#X connect 34 0 20 0; -#X connect 34 1 21 0; -#X connect 34 2 22 0; -#X connect 35 0 23 0; -#X connect 35 1 24 0; -#X connect 35 2 25 0; -#X connect 36 0 26 0; -#X connect 36 1 27 0; -#X connect 36 2 37 0; -#X connect 39 0 28 0; -#X connect 41 0 30 0; -#X connect 42 0 47 0; -#X connect 43 0 46 0; -#X connect 44 0 28 0; -#X connect 45 0 44 0; -#X connect 46 0 28 0; -#X connect 47 0 28 0; -#X connect 49 0 28 0; -#X connect 50 0 49 0; -#X connect 60 0 28 0; +#X connect 11 1 15 0; +#X connect 11 2 16 0; +#X connect 14 0 1 0; +#X connect 14 1 2 0; +#X connect 14 2 3 0; +#X connect 15 0 4 0; +#X connect 15 1 5 0; +#X connect 15 2 6 0; +#X connect 16 0 7 0; +#X connect 16 1 8 0; +#X connect 16 2 17 0; +#X connect 19 0 9 0; +#X connect 21 0 10 0; +#X connect 22 0 27 0; +#X connect 23 0 26 0; +#X connect 24 0 9 0; +#X connect 25 0 24 0; +#X connect 26 0 9 0; +#X connect 27 0 9 0; +#X connect 29 0 9 0; +#X connect 30 0 29 0; +#X connect 36 0 9 0; +#X connect 37 0 36 0; +#X connect 38 0 9 0; +#X connect 46 0 60 0; +#X connect 47 0 48 0; +#X connect 50 0 51 0; +#X connect 51 0 50 0; +#X connect 52 0 53 0; +#X connect 54 0 72 0; +#X connect 55 0 58 0; +#X connect 56 0 57 0; +#X connect 57 0 60 1; +#X connect 58 0 59 0; +#X connect 59 0 60 0; +#X connect 60 0 73 1; +#X connect 60 2 56 0; #X connect 61 0 60 0; -#X connect 62 0 28 0; -#X connect 68 0 16 0; -#X connect 69 0 68 0; -#X connect 70 0 16 0; -#X connect 71 0 16 0; +#X connect 62 0 61 0; +#X connect 64 0 60 0; +#X connect 64 0 75 0; +#X connect 65 0 60 0; +#X connect 66 0 60 0; +#X connect 67 0 64 0; +#X connect 67 0 62 0; +#X connect 68 0 54 0; +#X connect 69 0 71 0; +#X connect 70 0 69 0; +#X connect 71 0 52 0; +#X connect 72 0 81 0; +#X connect 73 0 68 0; +#X connect 73 0 70 0; +#X connect 74 0 73 2; +#X connect 75 0 73 0; +#X connect 76 0 75 0; +#X connect 77 0 75 0; +#X connect 78 0 75 0; +#X connect 79 0 75 0; +#X connect 80 0 75 0; +#X connect 81 0 9 0; diff --git a/pix_opencv_hist_compare-help.pd b/pix_opencv_hist_compare-help.pd index f274d25..a947bd3 100644 --- a/pix_opencv_hist_compare-help.pd +++ b/pix_opencv_hist_compare-help.pd @@ -1,13 +1,33 @@ -#N canvas 41 167 1154 642 10; -#X obj 396 -37 gemhead; -#X obj 364 478 pix_texture; -#X obj 364 506 square 2; -#X obj 9 -28 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577 +#N canvas 0 25 1680 940 10; +#X obj 582 308 cnv 15 500 180 empty empty empty 20 12 0 14 -24198 -66577 +0; +#X obj 671 313 hradio 15 1 0 5 empty empty empty 0 -8 0 10 -262144 +-1 -1 0; +#X text 754 312 save an histogram at position nth ( 0 <= n <= 80 ) +; +#X floatatom 675 444 5 0 0 0 - - -; +#X obj 737 369 unpack f f f f f; +#X text 830 404 nearest to 1 is the winner; +#X text 711 445 closest histogram (winner); +#X obj 737 397 vsl 15 37 0 1 0 0 empty empty empty 0 -9 0 10 -262144 +-1 -1 0 1; +#X obj 760 397 vsl 15 37 0 1 0 0 empty empty empty 0 -9 0 10 -262144 +-1 -1 0 1; +#X obj 783 397 vsl 15 37 0 1 0 0 empty empty empty 0 -9 0 10 -262144 +-1 -1 0 1; +#X obj 806 397 vsl 15 37 0 1 0 0 empty empty empty 0 -9 0 10 -262144 +-1 -1 0 1; +#X text 829 393 matching measure with stored histograms; +#X obj 596 338 pix_opencv_hist_compare; +#X obj 715 -105 gemhead; +#X obj 596 536 pix_texture; +#X obj 596 555 square 2; +#X obj 33 -109 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; -#X obj 67 41 route create; +#X obj 65 41 route create; #X msg 67 70 set destroy; #X msg 182 68 set create; #N canvas 87 154 247 179 Gem.init 0; @@ -17,11 +37,11 @@ #X connect 0 0 1 0; #X connect 1 0 2 0; #X restore 289 80 pd Gem.init; -#X obj 160 260 gemwin; -#X msg 159 207 create \, 1; -#X msg 235 208 destroy; -#X msg 281 180 frame 5; -#X obj 162 170 t b b b; +#X obj 162 241 gemwin; +#X msg 161 188 create \, 1; +#X msg 237 189 destroy; +#X msg 283 161 frame 5; +#X obj 164 126 t b b b; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 2 0 10 0; @@ -34,91 +54,116 @@ #X connect 9 0 6 0; #X connect 10 0 7 0; #X connect 10 2 9 0; -#X restore 14 16 pd gemwin; -#X msg 14 -8 destroy; -#X text 12 -26 Create window and render; -#X obj 216 478 pix_texture; -#X obj 216 506 square 2; -#X obj 367 159 translateXYZ -2 0 0; -#X obj 367 224 separator; -#X obj 350 285 cnv 15 500 180 empty empty empty 20 12 0 14 -24198 -66577 -0; -#X obj 511 -66 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +#X restore 43 -65 pd gemwin; +#X msg 43 -83 create; +#X obj 444 532 pix_texture; +#X obj 444 560 square 2; +#X obj 596 222 separator; +#X obj 727 -78 bng 25 250 50 0 load empty empty 0 -6 0 8 -262144 -1 -1; -#X obj 524 128 unpack 0 0 0; -#X floatatom 514 151 5 0 0 3 length - -; -#X floatatom 563 151 5 0 0 3 width - -; -#X floatatom 613 151 5 0 0 3 height - -; -#X obj 568 109 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 +#X obj 784 97 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 -1 -1; -#X floatatom 550 74 5 0 10000 1 frame# - -; -#X obj 511 -37 openpanel; -#X msg 511 -17 open \$1; -#X obj 499 92 pix_film; -#X msg 517 26 auto \$1; -#X obj 517 8 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +#X floatatom 766 62 5 0 10000 1 frame# - -; +#X obj 727 -49 openpanel; +#X msg 727 -29 open \$1; +#X obj 715 80 pix_film; +#X msg 733 14 auto \$1; +#X obj 733 -4 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 ; -#X obj 364 259 translateXYZ 4 0 0; -#X obj 439 290 hradio 15 1 0 5 empty empty empty 0 -8 0 10 -262144 --1 -1 0; -#X text 522 289 save an histogram at position nth ( 0 <= n <= 80 ) -; -#X text 5 -87 record histograms of specific situations; -#X text 7 -75 the object will recognize the situations if they occur +#X text 41 -103 Create window and render; +#X msg 828 -3 colorspace RGBA; +#X msg 933 -3 colorspace RGB; +#X msg 1037 -3 colorspace Grey; +#X obj 828 -31 loadbang; +#X obj 595 193 pix_separator; +#X obj 444 225 separator; +#X obj 444 196 pix_separator; +#X obj 444 260 translateXYZ -2 0 0; +#X obj 596 257 translateXYZ 2 0 0; +#N canvas 0 0 450 300 vswitch 0; +#X obj 144 263 outlet; +#X obj 36 26 inlet; +#X obj 260 29 inlet; +#X obj 36 133 spigot; +#X obj 260 141 spigot; +#X obj 119 64 loadbang; +#X msg 83 93 0; +#X msg 113 93 1; +#X msg 296 104 0; +#X msg 326 104 1; +#X obj 399 34 inlet; +#X obj 399 67 select 0; +#X connect 1 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 7 0; +#X connect 5 0 8 0; +#X connect 6 0 3 1; +#X connect 7 0 3 1; +#X connect 8 0 4 1; +#X connect 9 0 4 1; +#X connect 10 0 11 0; +#X connect 11 0 7 0; +#X connect 11 0 8 0; +#X connect 11 1 9 0; +#X connect 11 1 6 0; +#X restore 537 150 pd vswitch; +#X obj 605 150 tgl 15 0 empty load empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 478 78 pix_video; +#X obj 478 -110 gemhead; +#X msg 517 3 device 0; +#X msg 526 34 driver 1; +#X msg 503 -51 dialog; +#X msg 508 -21 device /dev/dv1394-0; +#X text 32 -20 record histograms of specific situations; +#X text 34 -8 the object will recognize the situations if they occur again; -#X text 7 -61 Written by Lluis Gomez i Bigorda ( lluisgomez@hangar.org +#X text 34 6 Written by Lluis Gomez i Bigorda ( lluisgomez@hangar.org ); -#X floatatom 443 421 5 0 0 0 - - -; -#X obj 505 346 unpack f f f f f; -#X text 598 381 nearest to 1 is the winner; -#X text 479 422 closest histogram (winner); -#X obj 505 374 vsl 15 37 0 1 0 0 empty empty empty 0 -9 0 10 -262144 --1 -1 0 1; -#X obj 528 374 vsl 15 37 0 1 0 0 empty empty empty 0 -9 0 10 -262144 --1 -1 0 1; -#X obj 551 374 vsl 15 37 0 1 0 0 empty empty empty 0 -9 0 10 -262144 --1 -1 0 1; -#X obj 574 374 vsl 15 37 0 1 0 0 empty empty empty 0 -9 0 10 -262144 --1 -1 0 1; -#X text 597 370 matching measure with stored histograms; -#X obj 364 315 pix_opencv_hist_compare; -#X text 7 -100 pix_opencv_hist_compare : image recognition using histograms +#X text 34 -33 pix_opencv_hist_compare : image recognition using histograms ; -#X msg 583 44 colorspace RGBA; -#X obj 606 17 loadbang; -#X msg 688 43 colorspace RGB; -#X msg 684 19 colorspace Grey; -#X connect 0 0 21 0; -#X connect 1 0 2 0; -#X connect 4 0 5 0; -#X connect 5 0 4 0; -#X connect 7 0 8 0; -#X connect 9 0 7 0; -#X connect 9 0 10 0; -#X connect 10 0 24 0; -#X connect 12 0 19 0; -#X connect 13 0 14 0; -#X connect 13 1 15 0; -#X connect 13 2 16 0; +#X connect 1 0 12 1; +#X connect 4 0 7 0; +#X connect 4 1 8 0; +#X connect 4 2 9 0; +#X connect 4 3 10 0; +#X connect 12 0 14 0; +#X connect 12 1 3 0; +#X connect 12 2 4 0; +#X connect 13 0 27 0; +#X connect 14 0 15 0; #X connect 17 0 18 0; -#X connect 18 0 21 1; +#X connect 18 0 17 0; #X connect 19 0 20 0; -#X connect 20 0 21 0; -#X connect 21 0 9 0; -#X connect 21 1 13 0; -#X connect 21 2 17 0; -#X connect 22 0 21 0; -#X connect 23 0 22 0; -#X connect 24 0 39 0; -#X connect 25 0 39 1; -#X connect 31 0 34 0; -#X connect 31 1 35 0; -#X connect 31 2 36 0; -#X connect 31 3 37 0; -#X connect 39 0 1 0; -#X connect 39 1 30 0; -#X connect 39 2 31 0; -#X connect 41 0 21 0; -#X connect 42 0 41 0; -#X connect 43 0 21 0; -#X connect 44 0 21 0; +#X connect 21 0 39 0; +#X connect 22 0 25 0; +#X connect 23 0 24 0; +#X connect 24 0 27 1; +#X connect 25 0 26 0; +#X connect 26 0 27 0; +#X connect 27 0 40 1; +#X connect 27 2 23 0; +#X connect 28 0 27 0; +#X connect 29 0 28 0; +#X connect 31 0 27 0; +#X connect 31 0 42 0; +#X connect 32 0 27 0; +#X connect 33 0 27 0; +#X connect 34 0 31 0; +#X connect 34 0 29 0; +#X connect 35 0 21 0; +#X connect 36 0 38 0; +#X connect 37 0 36 0; +#X connect 38 0 19 0; +#X connect 39 0 12 0; +#X connect 40 0 35 0; +#X connect 40 0 37 0; +#X connect 41 0 40 2; +#X connect 42 0 40 0; +#X connect 43 0 42 0; +#X connect 44 0 42 0; +#X connect 45 0 42 0; +#X connect 46 0 42 0; +#X connect 47 0 42 0; diff --git a/pix_opencv_hough_circles-help.pd b/pix_opencv_hough_circles-help.pd index 5452ae6..b51d23e 100644 --- a/pix_opencv_hough_circles-help.pd +++ b/pix_opencv_hough_circles-help.pd @@ -1,13 +1,51 @@ -#N canvas 41 167 1154 642 10; -#X obj 396 -37 gemhead; -#X obj 369 497 pix_texture; -#X obj 371 518 square 2; -#X obj 9 -28 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577 +#N canvas 503 143 1154 663 10; +#X obj 568 438 cnv 15 600 300 empty empty empty 20 12 0 14 -24198 -66577 +0; +#X obj 596 640 pix_opencv_hough_circles; +#X obj 839 606 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X msg 754 604 nightmode \$1; +#X text 858 607 set nightmode; +#X floatatom 777 481 5 0 0 0 - - -; +#X msg 688 478 threshold \$1; +#X floatatom 822 558 5 0 0 0 - - -; +#X floatatom 841 583 5 0 0 0 - - -; +#X floatatom 763 452 5 0 0 0 - - -; +#X msg 673 451 maxcircles \$1; +#X text 803 451 maximum nuber of circles detected ( default : 10 ) +; +#X floatatom 799 509 5 0 0 0 - - -; +#X msg 711 508 threshold2 \$1; +#X text 838 521 see documentation of cvHoughCircles for the meaning +of thresholds; +#X msg 736 557 mindist \$1; +#X text 859 556 minimum distance between circles ( default : 30 ); +#X msg 741 581 resolution \$1; +#X text 884 582 detector resolution ( default 1 ); +#X text 816 477 threshold ( default 100 ); +#X text 838 504 threshold2 ( default 10 ); +#X floatatom 766 709 5 0 0 0 - - -; +#X floatatom 802 710 5 0 0 0 - - -; +#X obj 766 669 route 1 2 3 4 5 6 7 8 9 10; +#X text 769 723 X1; +#X text 805 723 Y1; +#X floatatom 839 710 5 0 0 0 - - -; +#X text 935 669 position of each circle; +#X text 842 724 radius; +#X obj 766 690 unpack f f f; +#X text 30 147 written by Lluis Gomez i Bigorda ( lluisgomez@hangar.org +) and Yves Degoyon ( ydegoyon@gmail.com ); +#X text 30 132 pix_opencv_hough_circles : Hough circles detection algorithm +; +#X obj 715 44 gemhead; +#X obj 595 767 pix_texture; +#X obj 595 786 square 2; +#X obj 33 40 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; -#X obj 67 41 route create; +#X obj 65 41 route create; #X msg 67 70 set destroy; #X msg 182 68 set create; #N canvas 87 154 247 179 Gem.init 0; @@ -17,11 +55,11 @@ #X connect 0 0 1 0; #X connect 1 0 2 0; #X restore 289 80 pd Gem.init; -#X obj 160 260 gemwin; -#X msg 159 207 create \, 1; -#X msg 235 208 destroy; -#X msg 281 180 frame 5; -#X obj 162 170 t b b b; +#X obj 162 241 gemwin; +#X msg 161 188 create \, 1; +#X msg 237 189 destroy; +#X msg 283 161 frame 5; +#X obj 164 126 t b b b; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 2 0 10 0; @@ -34,112 +72,121 @@ #X connect 9 0 6 0; #X connect 10 0 7 0; #X connect 10 2 9 0; -#X restore 14 16 pd gemwin; -#X msg 14 -8 destroy; -#X text 12 -26 Create window and render; -#X obj 216 478 pix_texture; -#X obj 216 506 square 2; -#X obj 364 112 translateXYZ -2 0 0; -#X obj 365 138 separator; -#X obj 344 187 cnv 15 600 300 empty empty empty 20 12 0 14 -24198 -66577 -0; -#X obj 511 -66 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +#X restore 43 84 pd gemwin; +#X msg 43 66 create; +#X obj 444 681 pix_texture; +#X obj 444 709 square 2; +#X obj 596 371 separator; +#X obj 727 71 bng 25 250 50 0 load empty empty 0 -6 0 8 -262144 -1 -1; -#X obj 524 128 unpack 0 0 0; -#X floatatom 514 151 5 0 0 3 length - -; -#X floatatom 563 151 5 0 0 3 width - -; -#X floatatom 613 151 5 0 0 3 height - -; -#X obj 568 109 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 +#X obj 784 246 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 -1 -1; -#X floatatom 550 74 5 0 10000 1 frame# - -; -#X obj 511 -37 openpanel; -#X msg 511 -17 open \$1; -#X obj 499 92 pix_film; -#X msg 517 26 auto \$1; -#X obj 517 8 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 -; -#X obj 366 163 translateXYZ 4 0 0; -#X obj 580 26 loadbang; -#X msg 580 51 colorspace RGBA; -#X obj 372 389 pix_opencv_hough_circles; -#X obj 615 355 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +#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 0 1; -#X msg 530 353 nightmode \$1; -#X text 634 356 set nightmode; -#X floatatom 553 230 5 0 0 0 - - -; -#X msg 464 227 threshold \$1; -#X floatatom 598 307 5 0 0 0 - - -; -#X floatatom 617 332 5 0 0 0 - - -; -#X floatatom 539 201 5 0 0 0 - - -; -#X msg 449 200 maxcircles \$1; -#X text 579 200 maximum nuber of circles detected ( default : 10 ) -; -#X floatatom 575 258 5 0 0 0 - - -; -#X msg 487 257 threshold2 \$1; -#X text 614 270 see documentation of cvHoughCircles for the meaning -of thresholds; -#X msg 512 306 mindist \$1; -#X text 635 305 minimum distance between circles ( default : 30 ); -#X msg 517 330 resolution \$1; -#X text 660 331 detector resolution ( default 1 ); -#X text 592 226 threshold ( default 100 ); -#X text 614 253 threshold2 ( default 10 ); -#X floatatom 542 458 5 0 0 0 - - -; -#X floatatom 578 459 5 0 0 0 - - -; -#X obj 542 418 route 1 2 3 4 5 6 7 8 9 10; -#X text 545 472 X1; -#X text 581 472 Y1; -#X floatatom 615 459 5 0 0 0 - - -; -#X text 711 418 position of each circle; -#X text 618 473 radius; -#X obj 542 439 unpack f f f; -#X text 9 -66 written by Lluis Gomez i Bigorda ( lluisgomez@hangar.org -) and Yves Degoyon ( ydegoyon@gmail.com ); -#X text 9 -81 pix_opencv_hough_circles : Hough circles detection algorithm -; -#X msg 685 51 colorspace RGB; -#X msg 789 51 colorspace Grey; -#X connect 0 0 21 0; -#X connect 1 0 2 0; -#X connect 4 0 5 0; -#X connect 5 0 4 0; -#X connect 7 0 8 0; -#X connect 9 0 7 0; +#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; +#N canvas 0 0 450 300 vswitch 0; +#X obj 144 263 outlet; +#X obj 36 26 inlet; +#X obj 260 29 inlet; +#X obj 36 133 spigot; +#X obj 260 141 spigot; +#X obj 119 64 loadbang; +#X msg 83 93 0; +#X msg 113 93 1; +#X msg 296 104 0; +#X msg 326 104 1; +#X obj 399 34 inlet; +#X obj 399 67 select 0; +#X connect 1 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 7 0; +#X connect 5 0 8 0; +#X connect 6 0 3 1; +#X connect 7 0 3 1; +#X connect 8 0 4 1; +#X connect 9 0 4 1; +#X connect 10 0 11 0; +#X connect 11 0 7 0; +#X connect 11 0 8 0; +#X connect 11 1 9 0; +#X connect 11 1 6 0; +#X restore 537 299 pd vswitch; +#X obj 605 299 tgl 15 0 empty load empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 478 227 pix_video; +#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 obj 596 430 pix_resize 320 240; +#X connect 1 0 33 0; +#X connect 1 1 23 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 5 0 6 0; +#X connect 6 0 1 0; +#X connect 7 0 15 0; +#X connect 8 0 17 0; #X connect 9 0 10 0; -#X connect 10 0 24 0; -#X connect 12 0 19 0; -#X connect 13 0 14 0; -#X connect 13 1 15 0; -#X connect 13 2 16 0; -#X connect 17 0 18 0; -#X connect 18 0 21 1; -#X connect 19 0 20 0; -#X connect 20 0 21 0; -#X connect 21 0 9 0; -#X connect 21 1 13 0; -#X connect 21 2 17 0; -#X connect 22 0 21 0; -#X connect 23 0 22 0; -#X connect 24 0 27 0; -#X connect 25 0 26 0; -#X connect 26 0 21 0; -#X connect 27 0 1 0; -#X connect 27 1 49 0; -#X connect 28 0 29 0; -#X connect 29 0 27 0; -#X connect 31 0 32 0; -#X connect 32 0 27 0; -#X connect 33 0 41 0; -#X connect 34 0 43 0; -#X connect 35 0 36 0; -#X connect 36 0 27 0; +#X connect 10 0 1 0; +#X connect 12 0 13 0; +#X connect 13 0 1 0; +#X connect 15 0 1 0; +#X connect 17 0 1 0; +#X connect 23 0 29 0; +#X connect 29 0 21 0; +#X connect 29 1 22 0; +#X connect 29 2 26 0; +#X connect 32 0 46 0; +#X connect 33 0 34 0; +#X connect 36 0 37 0; +#X connect 37 0 36 0; #X connect 38 0 39 0; -#X connect 39 0 27 0; -#X connect 41 0 27 0; -#X connect 43 0 27 0; -#X connect 49 0 55 0; -#X connect 55 0 47 0; -#X connect 55 1 48 0; -#X connect 55 2 52 0; -#X connect 58 0 21 0; -#X connect 59 0 21 0; +#X connect 40 0 58 0; +#X connect 41 0 44 0; +#X connect 42 0 43 0; +#X connect 43 0 46 1; +#X connect 44 0 45 0; +#X connect 45 0 46 0; +#X connect 46 0 59 1; +#X connect 46 2 42 0; +#X connect 47 0 46 0; +#X connect 48 0 47 0; +#X connect 50 0 46 0; +#X connect 50 0 61 0; +#X connect 51 0 46 0; +#X connect 52 0 46 0; +#X connect 53 0 50 0; +#X connect 53 0 48 0; +#X connect 54 0 40 0; +#X connect 55 0 57 0; +#X connect 56 0 55 0; +#X connect 57 0 38 0; +#X connect 58 0 67 0; +#X connect 59 0 54 0; +#X connect 59 0 56 0; +#X connect 60 0 59 2; +#X connect 61 0 59 0; +#X connect 62 0 61 0; +#X connect 63 0 61 0; +#X connect 64 0 61 0; +#X connect 65 0 61 0; +#X connect 66 0 61 0; +#X connect 67 0 1 0; diff --git a/pix_opencv_hough_lines-help.pd b/pix_opencv_hough_lines-help.pd index dece01c..719eb7d 100644 --- a/pix_opencv_hough_lines-help.pd +++ b/pix_opencv_hough_lines-help.pd @@ -1,13 +1,64 @@ -#N canvas 320 49 1043 756 10; -#X obj 396 -37 gemhead; -#X obj 370 595 pix_texture; -#X obj 372 616 square 2; -#X obj 43 200 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577 +#N canvas 0 25 1680 940 10; +#X obj 580 463 cnv 15 600 400 empty empty empty 20 12 0 14 -24198 -66577 +0; +#X obj 606 762 pix_opencv_hough_lines; +#X obj 790 732 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X msg 705 730 nightmode \$1; +#X text 809 733 set nightmode; +#X floatatom 736 580 5 0 0 0 - - -; +#X msg 635 546 mode \$1; +#X obj 731 517 vradio 15 1 0 3 empty empty empty 0 -8 0 10 -262144 +-1 -1 0; +#X text 752 517 CV_HOUGH_STANDARD; +#X text 752 531 CV_HOUGH_PROBABILISTIC; +#X text 753 547 CV_HOUGN_MULTI_SCALE; +#X msg 647 577 threshold \$1; +#X msg 661 607 minlength \$1; +#X floatatom 747 608 5 0 0 0 - - -; +#X floatatom 727 634 5 0 0 0 - - -; +#X msg 676 633 gap \$1; +#X text 770 634 gap betwwen lines ( default 10 \, for mode CV_HOUGH_PROBABILISTIC +); +#X text 784 605 minimum length ( default 30 \, for mode CV_HOUGH_PROBABILISTIC +); +#X floatatom 781 672 5 0 0 0 - - -; +#X floatatom 803 704 5 0 0 0 - - -; +#X msg 680 670 aresolution \$1; +#X text 847 700 distance resolution ( default 1 \, for mode CV_HOUGH_MULTI_SCALE +); +#X text 819 669 angle resolution ( default 1 \, for mode CV_HOUGH_MULTI_SCALE +); +#X msg 621 476 maxlines \$1; +#X floatatom 700 477 5 0 0 0 - - -; +#X text 741 473 maximum nuber of lines detected ( default : 10 ); +#X text 775 576 threshold ( default 50 ); +#X text 640 499 Detection mode ( default : CV_HOUGH_PROBABILISTIC ) +; +#X floatatom 750 831 5 0 0 0 - - -; +#X floatatom 786 832 5 0 0 0 - - -; +#X obj 750 791 route 1 2 3 4 5 6 7 8 9 10; +#X text 919 790 position of each line; +#X obj 750 811 unpack f f f f; +#X text 753 845 X1; +#X text 789 845 Y1; +#X floatatom 823 832 5 0 0 0 - - -; +#X floatatom 859 833 5 0 0 0 - - -; +#X text 826 846 X2; +#X text 862 846 Y2; +#X text 41 154 written by Lluis Gomez i Bigorda ( lluisgomez@hangar.org +) and Yves Degoyon ( ydegoyon@gmail.com ); +#X text 40 139 pix_opencv_hough_lines : Hough lines algorithm; +#X msg 698 702 dresolution \$1; +#X obj 725 54 gemhead; +#X obj 606 884 pix_texture; +#X obj 606 903 square 2; +#X obj 43 50 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; -#X obj 67 41 route create; +#X obj 65 41 route create; #X msg 67 70 set destroy; #X msg 182 68 set create; #N canvas 87 154 247 179 Gem.init 0; @@ -17,11 +68,11 @@ #X connect 0 0 1 0; #X connect 1 0 2 0; #X restore 289 80 pd Gem.init; -#X obj 160 260 gemwin; -#X msg 159 207 create \, 1; -#X msg 235 208 destroy; -#X msg 281 180 frame 5; -#X obj 162 170 t b b b; +#X obj 162 241 gemwin; +#X msg 161 188 create \, 1; +#X msg 237 189 destroy; +#X msg 283 161 frame 5; +#X obj 164 126 t b b b; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 2 0 10 0; @@ -34,130 +85,127 @@ #X connect 9 0 6 0; #X connect 10 0 7 0; #X connect 10 2 9 0; -#X restore 47 245 pd gemwin; -#X msg 48 220 destroy; -#X text 45 203 Create window and render; -#X obj 216 478 pix_texture; -#X obj 216 506 square 2; -#X obj 364 112 translateXYZ -2 0 0; -#X obj 365 138 separator; -#X obj 344 187 cnv 15 600 400 empty empty empty 20 12 0 14 -24198 -66577 -0; -#X obj 511 -66 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +#X restore 53 94 pd gemwin; +#X msg 53 76 create; +#X obj 454 691 pix_texture; +#X obj 454 719 square 2; +#X obj 606 381 separator; +#X obj 737 81 bng 25 250 50 0 load empty empty 0 -6 0 8 -262144 -1 -1; -#X obj 524 128 unpack 0 0 0; -#X floatatom 514 151 5 0 0 3 length - -; -#X floatatom 563 151 5 0 0 3 width - -; -#X floatatom 613 151 5 0 0 3 height - -; -#X obj 568 109 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 +#X obj 794 256 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 -1 -1; -#X floatatom 550 74 5 0 10000 1 frame# - -; -#X obj 511 -37 openpanel; -#X msg 511 -17 open \$1; -#X obj 499 92 pix_film; -#X msg 517 26 auto \$1; -#X obj 517 8 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 -; -#X obj 366 163 translateXYZ 4 0 0; -#X obj 580 26 loadbang; -#X msg 580 51 colorspace RGBA; -#X msg 685 51 colorspace RGB; -#X msg 789 51 colorspace Grey; -#X obj 370 486 pix_opencv_hough_lines; -#X obj 554 456 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +#X floatatom 776 221 5 0 10000 1 frame# - -; +#X obj 737 110 openpanel; +#X msg 737 130 open \$1; +#X obj 725 239 pix_film; +#X msg 743 173 auto \$1; +#X obj 743 155 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1; -#X msg 469 454 nightmode \$1; -#X text 573 457 set nightmode; -#X floatatom 500 304 5 0 0 0 - - -; -#X msg 399 270 mode \$1; -#X obj 495 241 vradio 15 1 0 3 empty empty empty 0 -8 0 10 -262144 --1 -1 0; -#X text 516 241 CV_HOUGH_STANDARD; -#X text 516 255 CV_HOUGH_PROBABILISTIC; -#X text 517 271 CV_HOUGN_MULTI_SCALE; -#X msg 411 301 threshold \$1; -#X msg 425 331 minlength \$1; -#X floatatom 511 332 5 0 0 0 - - -; -#X floatatom 491 358 5 0 0 0 - - -; -#X msg 440 357 gap \$1; -#X text 534 358 gap betwwen lines ( default 10 \, for mode CV_HOUGH_PROBABILISTIC -); -#X text 548 329 minimum length ( default 30 \, for mode CV_HOUGH_PROBABILISTIC -); -#X floatatom 545 396 5 0 0 0 - - -; -#X floatatom 567 428 5 0 0 0 - - -; -#X msg 444 394 aresolution \$1; -#X text 611 424 distance resolution ( default 1 \, for mode CV_HOUGH_MULTI_SCALE -); -#X text 583 393 angle resolution ( default 1 \, for mode CV_HOUGH_MULTI_SCALE -); -#X msg 385 200 maxlines \$1; -#X floatatom 464 201 5 0 0 0 - - -; -#X text 505 197 maximum nuber of lines detected ( default : 10 ); -#X text 539 300 threshold ( default 50 ); -#X text 404 223 Detection mode ( default : CV_HOUGH_PROBABILISTIC ) -; -#X floatatom 514 555 5 0 0 0 - - -; -#X floatatom 550 556 5 0 0 0 - - -; -#X obj 514 515 route 1 2 3 4 5 6 7 8 9 10; -#X text 683 514 position of each line; -#X obj 514 535 unpack f f f f; -#X text 517 569 X1; -#X text 553 569 Y1; -#X floatatom 587 556 5 0 0 0 - - -; -#X floatatom 623 557 5 0 0 0 - - -; -#X text 590 570 X2; -#X text 626 570 Y2; -#X text 68 59 written by Lluis Gomez i Bigorda ( lluisgomez@hangar.org -) and Yves Degoyon ( ydegoyon@gmail.com ); -#X text 67 44 pix_opencv_hough_lines : Hough lines algorithm; -#X msg 462 426 dresolution \$1; -#X connect 0 0 21 0; -#X connect 1 0 2 0; -#X connect 4 0 5 0; -#X connect 5 0 4 0; -#X connect 7 0 8 0; -#X connect 9 0 7 0; -#X connect 9 0 10 0; -#X connect 10 0 24 0; -#X connect 12 0 19 0; -#X connect 13 0 14 0; -#X connect 13 1 15 0; -#X connect 13 2 16 0; -#X connect 17 0 18 0; -#X connect 18 0 21 1; -#X connect 19 0 20 0; -#X connect 20 0 21 0; -#X connect 21 0 9 0; -#X connect 21 1 13 0; -#X connect 21 2 17 0; -#X connect 22 0 21 0; -#X connect 23 0 22 0; -#X connect 24 0 29 0; -#X connect 25 0 26 0; -#X connect 26 0 21 0; -#X connect 27 0 21 0; -#X connect 28 0 21 0; -#X connect 29 0 1 0; -#X connect 29 1 58 0; -#X connect 30 0 31 0; -#X connect 31 0 29 0; -#X connect 33 0 39 0; -#X connect 34 0 29 0; -#X connect 35 0 34 0; -#X connect 39 0 29 0; -#X connect 40 0 29 0; -#X connect 41 0 40 0; -#X connect 42 0 43 0; -#X connect 43 0 29 0; -#X connect 46 0 48 0; -#X connect 47 0 69 0; -#X connect 48 0 29 0; -#X connect 51 0 29 0; -#X connect 52 0 51 0; -#X connect 58 0 60 0; +#X text 51 56 Create window and render; +#X msg 838 156 colorspace RGBA; +#X msg 943 156 colorspace RGB; +#X msg 1047 156 colorspace Grey; +#X obj 838 128 loadbang; +#X obj 605 352 pix_separator; +#X obj 454 384 separator; +#X obj 454 355 pix_separator; +#X obj 454 419 translateXYZ -2 0 0; +#X obj 606 416 translateXYZ 2 0 0; +#N canvas 0 0 450 300 vswitch 0; +#X obj 144 263 outlet; +#X obj 36 26 inlet; +#X obj 260 29 inlet; +#X obj 36 133 spigot; +#X obj 260 141 spigot; +#X obj 119 64 loadbang; +#X msg 83 93 0; +#X msg 113 93 1; +#X msg 296 104 0; +#X msg 326 104 1; +#X obj 399 34 inlet; +#X obj 399 67 select 0; +#X connect 1 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 7 0; +#X connect 5 0 8 0; +#X connect 6 0 3 1; +#X connect 7 0 3 1; +#X connect 8 0 4 1; +#X connect 9 0 4 1; +#X connect 10 0 11 0; +#X connect 11 0 7 0; +#X connect 11 0 8 0; +#X connect 11 1 9 0; +#X connect 11 1 6 0; +#X restore 547 309 pd vswitch; +#X obj 615 309 tgl 15 0 empty load empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 488 237 pix_video; +#X obj 488 49 gemhead; +#X msg 527 162 device 0; +#X msg 536 193 driver 1; +#X msg 513 108 dialog; +#X msg 518 138 device /dev/dv1394-0; +#X obj 606 440 pix_resize 320 240; +#X text 884 547 (WARNING :: only for powerfull machines); +#X connect 1 0 43 0; +#X connect 1 1 30 0; +#X connect 2 0 3 0; +#X connect 3 0 1 0; +#X connect 5 0 11 0; +#X connect 6 0 1 0; +#X connect 7 0 6 0; +#X connect 11 0 1 0; +#X connect 12 0 1 0; +#X connect 13 0 12 0; +#X connect 14 0 15 0; +#X connect 15 0 1 0; +#X connect 18 0 20 0; +#X connect 19 0 41 0; +#X connect 20 0 1 0; +#X connect 23 0 1 0; +#X connect 24 0 23 0; +#X connect 30 0 32 0; +#X connect 32 0 28 0; +#X connect 32 1 29 0; +#X connect 32 2 35 0; +#X connect 32 3 36 0; +#X connect 41 0 1 0; +#X connect 42 0 56 0; +#X connect 43 0 44 0; +#X connect 46 0 47 0; +#X connect 47 0 46 0; +#X connect 48 0 49 0; +#X connect 50 0 68 0; +#X connect 51 0 54 0; +#X connect 52 0 53 0; +#X connect 53 0 56 1; +#X connect 54 0 55 0; +#X connect 55 0 56 0; +#X connect 56 0 69 1; +#X connect 56 2 52 0; +#X connect 57 0 56 0; +#X connect 58 0 57 0; #X connect 60 0 56 0; -#X connect 60 1 57 0; -#X connect 60 2 63 0; -#X connect 60 3 64 0; -#X connect 69 0 29 0; +#X connect 60 0 71 0; +#X connect 61 0 56 0; +#X connect 62 0 56 0; +#X connect 63 0 60 0; +#X connect 63 0 58 0; +#X connect 64 0 50 0; +#X connect 65 0 67 0; +#X connect 66 0 65 0; +#X connect 67 0 48 0; +#X connect 68 0 77 0; +#X connect 69 0 64 0; +#X connect 69 0 66 0; +#X connect 70 0 69 2; +#X connect 71 0 69 0; +#X connect 72 0 71 0; +#X connect 73 0 71 0; +#X connect 74 0 71 0; +#X connect 75 0 71 0; +#X connect 76 0 71 0; +#X connect 77 0 1 0; diff --git a/pix_opencv_hu_compare-help.pd b/pix_opencv_hu_compare-help.pd index ff7c697..cba6fb6 100644 --- a/pix_opencv_hu_compare-help.pd +++ b/pix_opencv_hu_compare-help.pd @@ -1,5 +1,5 @@ -#N canvas 98 117 1154 642 10; -#X obj 821 9 gemhead; +#N canvas 495 86 1154 642 10; +#X obj 838 6 gemhead; #X obj 372 500 pix_texture; #X obj 372 528 square 2; #X obj 9 -28 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577 @@ -48,7 +48,7 @@ #X msg 485 -41 open \$1; #X obj 473 68 pix_film; #X msg 491 2 auto \$1; -#X obj 491 -16 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +#X obj 491 -16 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1; #X obj 373 395 pix_opencv_hu_compare; #X floatatom 506 439 30 0 0 0 - - -; @@ -58,7 +58,7 @@ -1 -1; #X obj 683 458 < 0.1; #X obj 783 437 hsl 128 15 0 0.2 0 0 cdist empty empty -2 -8 0 10 -262144 --1 -1 0 1; +-1 -1 6900 1; #X text 696 420 criteria value; #X floatatom 701 439 10 0 0 0 - - -; #X text 528 376 calculating their hu moments ( CvMatchShape ); @@ -93,7 +93,6 @@ hu moments using CvMatchShape.; #X text 754 -92 Compare to a pattern; #X obj 755 9 pix_image; #X obj 757 -40 openpanel; -#X obj 755 159 separator; #X msg 756 -13 open \$1; #X floatatom 908 126 5 0 0 0 - - -; #X text 946 125 threshold (default 13) to use when comparing pixel @@ -111,12 +110,13 @@ colors; #X obj 886 186 square 2; #X obj 754 71 translateXYZ -2 0 0; #X obj 755 39 pix_resize 320 240; -#X obj 755 186 translateXYZ 4 0 0; -#X obj 474 122 pix_resize 320 240; +#X obj 473 101 pix_resize 320 240; #X obj 549 -24 loadbang; #X msg 549 1 colorspace RGBA; #X msg 650 0 colorspace RGB; #X msg 612 -25 colorspace Grey; +#X obj 417 -4 gemhead; +#X obj 477 142 translateXYZ 2 0 0; #X connect 0 0 49 0; #X connect 1 0 2 0; #X connect 4 0 5 0; @@ -126,7 +126,7 @@ colors; #X connect 10 0 13 1; #X connect 11 0 12 0; #X connect 12 0 13 0; -#X connect 13 0 69 0; +#X connect 13 0 67 0; #X connect 13 2 9 0; #X connect 14 0 13 0; #X connect 15 0 14 0; @@ -147,31 +147,30 @@ colors; #X connect 38 0 16 0; #X connect 40 0 38 0; #X connect 45 0 50 0; -#X connect 49 0 67 0; -#X connect 50 0 52 0; -#X connect 51 0 68 0; -#X connect 52 0 49 0; -#X connect 53 0 63 2; -#X connect 55 0 56 0; -#X connect 56 0 53 0; -#X connect 57 0 53 0; -#X connect 58 0 61 0; -#X connect 58 0 64 2; -#X connect 59 0 60 0; -#X connect 60 0 58 0; -#X connect 62 0 65 0; -#X connect 63 0 51 0; -#X connect 63 0 62 0; -#X connect 63 0 16 1; -#X connect 64 0 16 0; -#X connect 66 0 63 0; -#X connect 67 0 66 0; -#X connect 68 0 13 0; -#X connect 69 0 64 0; -#X connect 70 0 71 0; +#X connect 49 0 66 0; +#X connect 50 0 51 0; +#X connect 51 0 49 0; +#X connect 52 0 62 2; +#X connect 54 0 55 0; +#X connect 55 0 52 0; +#X connect 56 0 52 0; +#X connect 57 0 60 0; +#X connect 57 0 63 2; +#X connect 58 0 59 0; +#X connect 59 0 57 0; +#X connect 61 0 64 0; +#X connect 62 0 61 0; +#X connect 62 0 16 1; +#X connect 63 0 16 0; +#X connect 65 0 62 0; +#X connect 66 0 65 0; +#X connect 67 0 73 0; +#X connect 68 0 69 0; +#X connect 69 0 13 0; +#X connect 69 0 49 0; +#X connect 70 0 49 0; +#X connect 70 0 13 0; #X connect 71 0 13 0; #X connect 71 0 49 0; -#X connect 72 0 49 0; #X connect 72 0 13 0; -#X connect 73 0 13 0; -#X connect 73 0 49 0; +#X connect 73 0 63 0; diff --git a/pix_opencv_laplace-help.pd b/pix_opencv_laplace-help.pd index da1e8b7..1a6af62 100644 --- a/pix_opencv_laplace-help.pd +++ b/pix_opencv_laplace-help.pd @@ -1,8 +1,17 @@ -#N canvas 338 215 691 547 10; -#X obj 286 -33 gemhead; -#X obj 364 374 pix_texture; -#X obj 364 402 square 2; -#X obj 20 159 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577 +#N canvas 430 219 670 547 10; +#X obj 347 393 cnv 15 200 70 empty empty empty 20 12 0 14 -24198 -66577 +0; +#X obj 374 435 pix_opencv_laplace; +#X msg 419 410 1; +#X msg 453 410 3; +#X msg 486 410 5; +#X msg 518 410 7; +#X text 381 392 aperture size ( default 3 ); +#X text -94 80 Written by Lluis Gomez i Bigorda ( lluisgomez@hangar.org +); +#X text -94 69 used as an edge detector; +#X text -95 56 pix_opencv_laplace : laplace filter; +#X obj -96 -31 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; @@ -17,11 +26,11 @@ #X connect 0 0 1 0; #X connect 1 0 2 0; #X restore 289 80 pd Gem.init; -#X obj 171 266 gemwin; -#X msg 164 226 create \, 1; -#X msg 252 229 destroy; -#X msg 292 186 frame 5; -#X obj 173 176 t b b b; +#X obj 160 260 gemwin; +#X msg 159 207 create \, 1; +#X msg 235 208 destroy; +#X msg 281 180 frame 5; +#X obj 162 170 t b b b; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 2 0 10 0; @@ -34,73 +43,109 @@ #X connect 9 0 6 0; #X connect 10 0 7 0; #X connect 10 2 9 0; -#X restore 25 203 pd gemwin; -#X msg 25 179 destroy; -#X text 21 159 Create window and render; -#X obj 200 368 pix_texture; -#X obj 200 396 square 2; -#X obj 266 167 translateXYZ -2 0 0; -#X obj 367 224 separator; -#X obj 337 281 cnv 15 200 70 empty empty empty 20 12 0 14 -24198 -66577 -0; -#X obj 511 -66 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +#X restore -91 13 pd gemwin; +#X msg -91 -8 create; +#X text -90 -26 Create window and render; +#X obj 493 -11 gemhead; +#X obj 374 316 separator; +#X obj 505 16 bng 25 250 50 0 load empty empty 0 -6 0 8 -262144 -1 -1; -#X obj 524 128 unpack 0 0 0; -#X floatatom 514 151 5 0 0 3 length - -; -#X floatatom 563 151 5 0 0 3 width - -; -#X floatatom 613 151 5 0 0 3 height - -; -#X obj 568 109 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 +#X obj 562 191 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 -1 -1; -#X floatatom 559 91 5 0 10000 1 frame# - -; -#X obj 511 -37 openpanel; -#X msg 511 -17 open \$1; -#X obj 499 92 pix_film; -#X msg 517 26 auto \$1; -#X obj 517 8 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +#X floatatom 544 156 5 0 10000 1 frame# - -; +#X obj 505 45 openpanel; +#X msg 505 65 open \$1; +#X obj 493 174 pix_film; +#X msg 511 108 auto \$1; +#X obj 511 90 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 ; -#X obj 364 259 translateXYZ 4 0 0; -#X obj 364 323 pix_opencv_laplace; -#X msg 409 298 1; -#X msg 443 298 3; -#X msg 476 298 5; -#X msg 508 298 7; -#X text 371 280 aperture size ( default 3 ); -#X text 25 60 Written by Lluis Gomez i Bigorda ( lluisgomez@hangar.org -); -#X text 25 49 used as an edge detector; -#X text 24 36 pix_opencv_laplace : laplace filter; -#X obj 574 14 loadbang; -#X msg 574 39 colorspace RGBA; -#X msg 675 38 colorspace RGB; -#X msg 637 13 colorspace Grey; -#X connect 0 0 21 0; -#X connect 1 0 2 0; -#X connect 4 0 5 0; -#X connect 5 0 4 0; -#X connect 7 0 8 0; -#X connect 9 0 7 0; -#X connect 9 0 10 0; -#X connect 10 0 24 0; -#X connect 12 0 19 0; -#X connect 13 0 14 0; -#X connect 13 1 15 0; -#X connect 13 2 16 0; +#X msg 606 91 colorspace RGBA; +#X msg 711 91 colorspace RGB; +#X msg 815 91 colorspace Grey; +#X obj 606 63 loadbang; +#X obj 373 287 pix_separator; +#X obj 222 319 separator; +#X obj 222 290 pix_separator; +#X obj 222 354 translateXYZ -2 0 0; +#X obj 374 351 translateXYZ 2 0 0; +#N canvas 0 0 450 300 vswitch 0; +#X obj 144 263 outlet; +#X obj 36 26 inlet; +#X obj 260 29 inlet; +#X obj 36 133 spigot; +#X obj 260 141 spigot; +#X obj 119 64 loadbang; +#X msg 83 93 0; +#X msg 113 93 1; +#X msg 296 104 0; +#X msg 326 104 1; +#X obj 399 34 inlet; +#X obj 399 67 select 0; +#X connect 1 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 7 0; +#X connect 5 0 8 0; +#X connect 6 0 3 1; +#X connect 7 0 3 1; +#X connect 8 0 4 1; +#X connect 9 0 4 1; +#X connect 10 0 11 0; +#X connect 11 0 7 0; +#X connect 11 0 8 0; +#X connect 11 1 9 0; +#X connect 11 1 6 0; +#X restore 315 244 pd vswitch; +#X obj 383 244 tgl 15 0 empty load empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 256 172 pix_video; +#X obj 256 -16 gemhead; +#X msg 295 97 device 0; +#X msg 304 128 driver 1; +#X msg 281 43 dialog; +#X msg 286 73 device /dev/dv1394-0; +#X obj 374 495 pix_texture; +#X obj 374 514 square 2; +#X obj 222 491 pix_texture; +#X obj 222 519 square 2; +#X connect 1 0 41 0; +#X connect 2 0 1 1; +#X connect 3 0 1 1; +#X connect 4 0 1 1; +#X connect 5 0 1 1; +#X connect 11 0 12 0; +#X connect 12 0 11 0; +#X connect 14 0 21 0; +#X connect 15 0 32 0; +#X connect 16 0 19 0; #X connect 17 0 18 0; #X connect 18 0 21 1; #X connect 19 0 20 0; #X connect 20 0 21 0; -#X connect 21 0 9 0; -#X connect 21 1 13 0; +#X connect 21 0 33 1; #X connect 21 2 17 0; #X connect 22 0 21 0; #X connect 23 0 22 0; -#X connect 24 0 25 0; -#X connect 25 0 1 0; -#X connect 26 0 25 1; -#X connect 27 0 25 1; -#X connect 28 0 25 1; -#X connect 29 0 25 1; -#X connect 34 0 35 0; -#X connect 35 0 21 0; -#X connect 36 0 21 0; -#X connect 37 0 21 0; +#X connect 24 0 21 0; +#X connect 24 0 35 0; +#X connect 25 0 21 0; +#X connect 26 0 21 0; +#X connect 27 0 24 0; +#X connect 27 0 23 0; +#X connect 28 0 15 0; +#X connect 29 0 31 0; +#X connect 30 0 29 0; +#X connect 31 0 43 0; +#X connect 32 0 1 0; +#X connect 33 0 28 0; +#X connect 33 0 30 0; +#X connect 34 0 33 2; +#X connect 35 0 33 0; +#X connect 36 0 35 0; +#X connect 37 0 35 0; +#X connect 38 0 35 0; +#X connect 39 0 35 0; +#X connect 40 0 35 0; +#X connect 41 0 42 0; +#X connect 43 0 44 0; diff --git a/pix_opencv_lk-help.pd b/pix_opencv_lk-help.pd index 63b885b..e95231f 100644 --- a/pix_opencv_lk-help.pd +++ b/pix_opencv_lk-help.pd @@ -1,18 +1,136 @@ -#N canvas 248 90 1192 685 10; -#X obj 396 -37 gemhead; -#X obj 212 457 pix_texture; -#X obj 28 132 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577 +#N canvas 378 68 1192 685 10; +#X obj 140 -12 cnv 15 600 450 empty empty empty 20 12 0 14 -24198 -66577 0; -#N canvas 189 149 454 304 gemwin 0; -#X obj 130 218 gemwin; +#X floatatom 288 328 5 0 0 0 - - -; +#X text 323 327 window size; +#X obj 353 70 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X msg 268 68 nightmode \$1; +#X text 372 71 set nightmode; +#X msg 263 42 quality \$1; +#X floatatom 338 43 5 0 0 0 - - -; +#X floatatom 346 18 5 0 0 0 - - -; +#X msg 249 17 mindistance \$1; +#X text 387 16 set distance ( default 10 ); +#X msg 242 -11 init; +#X text 311 -11 init point detections; +#X floatatom 431 43 5 0 0 0 - - -; +#X obj 376 41 / 1000; +#X msg 294 136 mark \$1 \$2; +#X msg 308 157 delete \$1; +#X text 502 157 delete a marker; +#X msg 316 177 clear; +#X text 364 178 delete all markers; +#X msg 322 197 maxmove \$1; +#X text 436 197 max movement of a marker ( default 5 pisels ); +#X floatatom 398 199 5 0 0 0 - - -; +#X text 563 42 set quality ( default 100 ); +#X msg 471 41 100; +#X obj 504 41 loadbang; +#X obj 285 383 unpack f f; +#X floatatom 286 408 5 0 0 0 - - -; +#X floatatom 344 409 5 0 0 0 - - -; +#X text 287 424 X; +#X text 342 425 Y; +#X obj 284 357 route 1 2 3 4 5 6 7 8 9 10; +#X text 450 306 position of each marked point; +#X obj 178 346 pix_opencv_lk; +#X obj 752 -69 gemmouse; +#X obj 808 38 f; +#X obj 778 37 f; +#X obj 822 9 t b b; +#X obj 775 82 pack f f; +#X text 373 137 mark x y : mark a point to track ( max points : 10 +); +#X obj 798 -41 route 1; +#X msg 819 -16 bang; +#X msg 277 91 mark all; +#X msg 287 112 mark none; +#X text 340 92 mark all points; +#X text 357 113 reset all markers; +#X text 422 241 make a delaunay with all points; +#X msg 342 241 delaunay on; +#X msg 350 261 delaunay off; +#X text 451 274 make a delaunay with point 1 and a tolerance of 50 +( all points which color is in that range will be included in the delaunay) +; +#X msg 333 217 ftolerance \$1; +#X floatatom 425 217 5 0 0 0 - - -; +#X text 465 217 frame tolerance for point identification ( default +: 5 ); +#X text -230 -324 written by Lluis Gomez i Bigorda ( lluisgomez@hangar.org +) and Yves Degoyon ( ydegoyon@gmail.com ); +#X text -231 -336 Corner points detection based on Shi and Tomasi; +#X text -231 -348 pix_opencv_lk : Lukas-Kanade corner points tracking +; +#X obj 376 158 hradio 15 1 0 8 empty empty empty 0 -8 0 10 -262144 +-1 -1 0; +#X floatatom 769 59 5 0 0 0 - - -; +#X floatatom 822 62 5 0 0 0 - - -; +#X msg 350 283 pdelaunay 1 500; +#X obj 357 -411 gemhead; +#X obj 369 -384 bng 25 250 50 0 load empty empty 0 -6 0 8 -262144 -1 +-1; +#X obj 426 -209 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 +-1 -1; +#X floatatom 408 -244 5 0 10000 1 frame# - -; +#X obj 369 -355 openpanel; +#X msg 369 -335 open \$1; +#X obj 357 -226 pix_film; +#X msg 375 -292 auto \$1; +#X obj 375 -310 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 +1; +#X msg 470 -309 colorspace RGBA; +#X msg 575 -309 colorspace RGB; +#X msg 679 -309 colorspace Grey; +#X obj 470 -337 loadbang; +#N canvas 0 0 450 300 vswitch 0; +#X obj 144 263 outlet; +#X obj 36 26 inlet; +#X obj 260 29 inlet; +#X obj 36 133 spigot; +#X obj 260 141 spigot; +#X obj 119 64 loadbang; +#X msg 83 93 0; +#X msg 113 93 1; +#X msg 296 104 0; +#X msg 326 104 1; +#X obj 399 34 inlet; +#X obj 399 67 select 0; +#X connect 1 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 7 0; +#X connect 5 0 8 0; +#X connect 6 0 3 1; +#X connect 7 0 3 1; +#X connect 8 0 4 1; +#X connect 9 0 4 1; +#X connect 10 0 11 0; +#X connect 11 0 7 0; +#X connect 11 0 8 0; +#X connect 11 1 9 0; +#X connect 11 1 6 0; +#X restore 175 -152 pd vswitch; +#X obj 247 -156 tgl 15 0 empty load empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 120 -228 pix_video; +#X obj 120 -416 gemhead; +#X msg 159 -303 device 0; +#X msg 168 -272 driver 1; +#X msg 145 -357 dialog; +#X msg 150 -327 device /dev/dv1394-0; +#X obj 178 469 pix_texture; +#X obj -231 -425 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; #X obj 67 41 route create; #X msg 67 70 set destroy; #X msg 182 68 set create; -#X msg 129 165 create \, 1; -#X msg 205 166 destroy; -#N canvas 87 154 363 340 Gem.init 0; +#N canvas 87 154 247 179 Gem.init 0; #X obj 112 15 loadbang; #X msg 62 93 reset; #X obj 49 135 outlet; @@ -23,178 +141,99 @@ #X connect 3 0 2 0; #X connect 4 0 3 0; #X connect 4 2 1 0; -#X restore 289 80 pd Gem.init; -#X obj 128 109 t b b b; -#X msg 156 138 dimen 320 240; -#X msg 250 137 frame 5; +#X restore 268 69 pd Gem.init; +#X obj 162 241 gemwin; +#X msg 161 188 create \, 1; +#X msg 237 189 destroy; +#X msg 188 161 dimen 320 240; +#X obj 164 126 t b b b; +#X msg 279 161 frame 5; +#X connect 1 0 2 0; #X connect 2 0 3 0; -#X connect 3 0 4 0; -#X connect 3 0 9 0; -#X connect 3 1 5 0; -#X connect 3 1 7 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 connect 2 0 10 0; +#X connect 2 1 4 0; +#X connect 2 1 8 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 7 0 6 0; +#X connect 8 0 6 0; #X connect 9 0 6 0; -#X connect 9 1 10 0; -#X connect 9 2 11 0; -#X connect 10 0 0 0; -#X connect 11 0 0 0; -#X restore 35 178 pd gemwin; -#X msg 35 157 destroy; -#X text 36 136 Create window and render; -#X obj 340 180 cnv 15 600 450 empty empty empty 20 12 0 14 -24198 -66577 -0; -#X obj 511 -66 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 --1; -#X obj 524 128 unpack 0 0 0; -#X floatatom 514 151 5 0 0 3 length - -; -#X floatatom 563 151 5 0 0 3 width - -; -#X floatatom 613 151 5 0 0 3 height - -; -#X obj 568 109 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 --1 -1; -#X floatatom 560 92 5 0 10000 1 frame# - -; -#X obj 511 -37 openpanel; -#X msg 511 -17 open \$1; -#X obj 499 92 pix_film; -#X msg 517 26 auto \$1; -#X obj 517 8 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1 -; -#X floatatom 488 520 5 0 0 0 - - -; -#X text 523 519 window size; -#X obj 553 262 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 -1; -#X msg 468 260 nightmode \$1; -#X text 572 263 set nightmode; -#X msg 463 234 quality \$1; -#X floatatom 538 235 5 0 0 0 - - -; -#X floatatom 546 210 5 0 0 0 - - -; -#X msg 449 209 mindistance \$1; -#X text 587 208 set distance ( default 10 ); -#X msg 442 181 init; -#X text 511 181 init point detections; -#X floatatom 631 235 5 0 0 0 - - -; -#X obj 576 233 / 1000; -#X msg 494 328 mark \$1 \$2; -#X msg 508 349 delete \$1; -#X text 702 349 delete a marker; -#X msg 516 369 clear; -#X text 564 370 delete all markers; -#X msg 522 389 maxmove \$1; -#X text 636 389 max movement of a marker ( default 5 pisels ); -#X floatatom 598 391 5 0 0 0 - - -; -#X text 763 234 set quality ( default 100 ); -#X msg 671 233 100; -#X obj 704 233 loadbang; -#X obj 485 575 unpack f f; -#X floatatom 486 600 5 0 0 0 - - -; -#X floatatom 544 601 5 0 0 0 - - -; -#X text 487 616 X; -#X text 542 617 Y; -#X obj 484 549 route 1 2 3 4 5 6 7 8 9 10; -#X text 650 498 position of each marked point; -#X obj 378 538 pix_opencv_lk; -#X obj 952 123 gemmouse; -#X obj 1008 230 f; -#X obj 978 229 f; -#X obj 1022 201 t b b; -#X obj 975 274 pack f f; -#X text 573 329 mark x y : mark a point to track ( max points : 10 -); -#X obj 998 151 route 1; -#X msg 1019 176 bang; -#X msg 477 283 mark all; -#X msg 487 304 mark none; -#X text 540 284 mark all points; -#X text 557 305 reset all markers; -#X text 622 433 make a delaunay with all points; -#X msg 542 433 delaunay on; -#X msg 550 453 delaunay off; -#X text 651 466 make a delaunay with point 1 and a tolerance of 50 -( all points which color is in that range will be included in the delaunay) -; -#X msg 533 409 ftolerance \$1; -#X floatatom 625 409 5 0 0 0 - - -; -#X text 665 409 frame tolerance for point identification ( default -: 5 ); -#X text 44 11 written by Lluis Gomez i Bigorda ( lluisgomez@hangar.org -) and Yves Degoyon ( ydegoyon@gmail.com ); -#X text 43 -1 Corner points detection based on Shi and Tomasi; -#X text 43 -13 pix_opencv_lk : Lukas-Kanade corner points tracking -; -#X obj 576 350 hradio 15 1 0 8 empty empty empty 0 -8 0 10 -262144 --1 -1 0; -#X floatatom 969 251 5 0 0 0 - - -; -#X floatatom 1022 254 5 0 0 0 - - -; -#X obj 212 518 rectangle 4 3; -#X obj 212 489 pix_resize 320 240; -#X obj 588 13 loadbang; -#X msg 588 38 colorspace RGBA; -#X msg 692 38 colorspace RGB; -#X msg 651 12 colorspace Grey; -#X msg 550 475 pdelaunay 1 500; -#X connect 0 0 16 0; -#X connect 1 0 78 0; +#X connect 10 0 7 0; +#X connect 10 1 9 0; +#X connect 10 2 11 0; +#X connect 11 0 6 0; +#X restore -224 -379 pd gemwin; +#X msg -223 -401 create; +#X text -223 -422 Create window and render; +#X obj 178 488 rectangle 5.3 4; +#X obj 178 -78 pix_resize 320 240; +#X connect 1 0 33 1; #X connect 3 0 4 0; -#X connect 4 0 3 0; -#X connect 7 0 14 0; +#X connect 4 0 33 0; +#X connect 6 0 33 0; +#X connect 7 0 6 0; #X connect 8 0 9 0; -#X connect 8 1 10 0; -#X connect 8 2 11 0; -#X connect 12 0 13 0; -#X connect 13 0 16 1; -#X connect 14 0 15 0; -#X connect 15 0 16 0; -#X connect 16 0 51 0; -#X connect 16 1 8 0; -#X connect 16 2 12 0; -#X connect 17 0 16 0; -#X connect 18 0 17 0; -#X connect 19 0 51 1; -#X connect 21 0 22 0; -#X connect 22 0 51 0; -#X connect 24 0 51 0; +#X connect 9 0 33 0; +#X connect 11 0 33 0; +#X connect 13 0 14 0; +#X connect 14 0 7 0; +#X connect 15 0 33 0; +#X connect 16 0 33 0; +#X connect 18 0 33 0; +#X connect 20 0 33 0; +#X connect 22 0 20 0; +#X connect 24 0 13 0; #X connect 25 0 24 0; #X connect 26 0 27 0; -#X connect 27 0 51 0; -#X connect 29 0 51 0; -#X connect 31 0 32 0; -#X connect 32 0 25 0; -#X connect 33 0 51 0; -#X connect 34 0 51 0; -#X connect 36 0 51 0; -#X connect 38 0 51 0; -#X connect 40 0 38 0; -#X connect 42 0 31 0; -#X connect 43 0 42 0; -#X connect 44 0 45 0; -#X connect 44 1 46 0; -#X connect 49 0 44 0; -#X connect 51 0 1 0; -#X connect 51 1 49 0; -#X connect 52 0 54 1; -#X connect 52 1 53 1; -#X connect 52 2 58 0; -#X connect 53 0 56 1; -#X connect 53 0 76 0; -#X connect 54 0 56 0; -#X connect 54 0 75 0; -#X connect 55 0 54 0; -#X connect 55 1 53 0; -#X connect 56 0 33 0; -#X connect 58 0 59 0; -#X connect 59 0 55 0; -#X connect 60 0 51 0; -#X connect 61 0 51 0; -#X connect 65 0 51 0; -#X connect 66 0 51 0; -#X connect 68 0 51 0; -#X connect 69 0 68 0; -#X connect 74 0 34 0; -#X connect 78 0 77 0; -#X connect 79 0 80 0; -#X connect 80 0 16 0; -#X connect 81 0 16 0; -#X connect 82 0 16 0; -#X connect 83 0 51 0; +#X connect 26 1 28 0; +#X connect 31 0 26 0; +#X connect 33 0 81 0; +#X connect 33 1 31 0; +#X connect 34 0 36 1; +#X connect 34 1 35 1; +#X connect 34 2 40 0; +#X connect 35 0 38 1; +#X connect 35 0 58 0; +#X connect 36 0 38 0; +#X connect 36 0 57 0; +#X connect 37 0 36 0; +#X connect 37 1 35 0; +#X connect 38 0 15 0; +#X connect 40 0 41 0; +#X connect 41 0 37 0; +#X connect 42 0 33 0; +#X connect 43 0 33 0; +#X connect 47 0 33 0; +#X connect 48 0 33 0; +#X connect 50 0 33 0; +#X connect 51 0 50 0; +#X connect 56 0 16 0; +#X connect 59 0 33 0; +#X connect 60 0 66 0; +#X connect 61 0 64 0; +#X connect 62 0 63 0; +#X connect 63 0 66 1; +#X connect 64 0 65 0; +#X connect 65 0 66 0; +#X connect 66 0 73 1; +#X connect 66 2 62 0; +#X connect 67 0 66 0; +#X connect 68 0 67 0; +#X connect 69 0 66 0; +#X connect 69 0 75 0; +#X connect 70 0 66 0; +#X connect 71 0 66 0; +#X connect 72 0 69 0; +#X connect 72 0 68 0; +#X connect 73 0 87 0; +#X connect 74 0 73 2; +#X connect 75 0 73 0; +#X connect 76 0 75 0; +#X connect 77 0 75 0; +#X connect 78 0 75 0; +#X connect 79 0 75 0; +#X connect 80 0 75 0; +#X connect 81 0 86 0; +#X connect 83 0 84 0; +#X connect 84 0 83 0; +#X connect 87 0 33 0; diff --git a/pix_opencv_morphology-help.pd b/pix_opencv_morphology-help.pd index 636a22f..04eabb7 100644 --- a/pix_opencv_morphology-help.pd +++ b/pix_opencv_morphology-help.pd @@ -1,8 +1,25 @@ -#N canvas 56 110 846 641 10; -#X obj 286 -33 gemhead; -#X obj 359 468 pix_texture; -#X obj 359 496 square 2; -#X obj 36 256 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577 +#N canvas 56 110 825 620 10; +#X obj 369 412 cnv 15 450 150 empty empty empty 20 12 0 14 -24198 -66577 +0; +#X floatatom 488 504 5 0 0 0 - - -; +#X obj 514 418 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +1; +#X msg 472 462 shape 2; +#X msg 462 442 shape 1; +#X msg 482 481 shape 3; +#X msg 456 418 mode \$1; +#X text 519 443 use rectangle structuring element; +#X text 537 478 use cross-shaped structuring element; +#X text 531 460 use elliptic structuring element; +#X text 537 418 switch open/close and erode/dilate modes; +#X text 541 502 number of iterations -10/+10 (be carefull); +#X obj 374 532 pix_opencv_morphology; +#X text -98 98 written by Lluis Gomez i Bigorda ( lluisgomez@hangar.org +); +#X text -98 59 pdp_opencv_morphology : morphology filter ( erosion +/ dilatation ); +#X text -98 84 used as a filter to focus on bright or dark zones; +#X obj -96 -31 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; @@ -17,11 +34,11 @@ #X connect 0 0 1 0; #X connect 1 0 2 0; #X restore 289 80 pd Gem.init; -#X obj 171 266 gemwin; -#X msg 164 226 create \, 1; -#X msg 252 229 destroy; -#X msg 292 186 frame 5; -#X obj 173 176 t b b b; +#X obj 160 260 gemwin; +#X msg 159 207 create \, 1; +#X msg 235 208 destroy; +#X msg 281 180 frame 5; +#X obj 162 170 t b b b; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 2 0 10 0; @@ -34,83 +51,111 @@ #X connect 9 0 6 0; #X connect 10 0 7 0; #X connect 10 2 9 0; -#X restore 43 300 pd gemwin; -#X msg 43 276 destroy; -#X text 39 256 Create window and render; -#X obj 263 468 pix_texture; -#X obj 263 496 square 2; -#X obj 266 167 translateXYZ -2 0 0; -#X obj 367 224 separator; -#X obj 356 285 cnv 15 450 150 empty empty empty 20 12 0 14 -24198 -66577 -0; -#X obj 511 -66 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +#X restore -91 13 pd gemwin; +#X msg -91 -8 create; +#X text -90 -26 Create window and render; +#X obj 493 -11 gemhead; +#X obj 374 642 pix_texture; +#X obj 374 661 square 2; +#X obj 222 638 pix_texture; +#X obj 222 666 square 2; +#X obj 374 316 separator; +#X obj 505 16 bng 25 250 50 0 load empty empty 0 -6 0 8 -262144 -1 -1; -#X obj 524 128 unpack 0 0 0; -#X floatatom 514 151 5 0 0 3 length - -; -#X floatatom 563 151 5 0 0 3 width - -; -#X floatatom 613 151 5 0 0 3 height - -; -#X obj 568 109 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 +#X obj 562 191 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 -1 -1; -#X floatatom 560 92 5 0 10000 1 frame# - -; -#X obj 511 -37 openpanel; -#X msg 511 -17 open \$1; -#X obj 499 92 pix_film; -#X msg 517 26 auto \$1; -#X obj 517 8 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +#X floatatom 544 156 5 0 10000 1 frame# - -; +#X obj 505 45 openpanel; +#X msg 505 65 open \$1; +#X obj 493 174 pix_film; +#X msg 511 108 auto \$1; +#X obj 511 90 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 ; -#X obj 364 259 translateXYZ 4 0 0; -#X floatatom 475 377 5 0 0 0 - - -; -#X obj 501 291 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 +#X msg 606 91 colorspace RGBA; +#X msg 711 91 colorspace RGB; +#X msg 815 91 colorspace Grey; +#X obj 606 63 loadbang; +#X obj 373 287 pix_separator; +#X obj 222 319 separator; +#X obj 222 290 pix_separator; +#X obj 222 354 translateXYZ -2 0 0; +#X obj 374 351 translateXYZ 2 0 0; +#N canvas 0 0 450 300 vswitch 0; +#X obj 144 263 outlet; +#X obj 36 26 inlet; +#X obj 260 29 inlet; +#X obj 36 133 spigot; +#X obj 260 141 spigot; +#X obj 119 64 loadbang; +#X msg 83 93 0; +#X msg 113 93 1; +#X msg 296 104 0; +#X msg 326 104 1; +#X obj 399 34 inlet; +#X obj 399 67 select 0; +#X connect 1 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 7 0; +#X connect 5 0 8 0; +#X connect 6 0 3 1; +#X connect 7 0 3 1; +#X connect 8 0 4 1; +#X connect 9 0 4 1; +#X connect 10 0 11 0; +#X connect 11 0 7 0; +#X connect 11 0 8 0; +#X connect 11 1 9 0; +#X connect 11 1 6 0; +#X restore 315 244 pd vswitch; +#X obj 383 244 tgl 15 0 empty load empty 17 7 0 10 -262144 -1 -1 0 1; -#X msg 459 335 shape 2; -#X msg 449 315 shape 1; -#X msg 469 354 shape 3; -#X msg 443 291 mode \$1; -#X text 506 316 use rectangle structuring element; -#X text 524 351 use cross-shaped structuring element; -#X text 518 333 use elliptic structuring element; -#X text 524 291 switch open/close and erode/dilate modes; -#X text 528 375 number of iterations -10/+10 (be carefull); -#X obj 361 405 pix_opencv_morphology; -#X text 468 494 written by Lluis Gomez i Bigorda ( lluisgomez@hangar.org -); -#X text 468 455 pdp_opencv_morphology : morphology filter ( erosion -/ dilatation ); -#X text 468 480 used as a filter to focus on bright or dark zones; -#X obj 576 12 loadbang; -#X msg 576 37 colorspace RGBA; -#X msg 680 37 colorspace RGB; -#X msg 639 11 colorspace Grey; -#X connect 0 0 21 0; -#X connect 1 0 2 0; -#X connect 4 0 5 0; -#X connect 5 0 4 0; -#X connect 7 0 8 0; -#X connect 9 0 7 0; -#X connect 9 0 10 0; -#X connect 10 0 24 0; -#X connect 12 0 19 0; -#X connect 13 0 14 0; -#X connect 13 1 15 0; -#X connect 13 2 16 0; +#X obj 256 172 pix_video; +#X obj 256 -16 gemhead; +#X msg 295 97 device 0; +#X msg 304 128 driver 1; +#X msg 281 43 dialog; +#X msg 286 73 device /dev/dv1394-0; +#X connect 1 0 12 1; +#X connect 2 0 6 0; +#X connect 3 0 12 0; +#X connect 4 0 12 0; +#X connect 5 0 12 0; +#X connect 6 0 12 0; +#X connect 12 0 21 0; #X connect 17 0 18 0; -#X connect 18 0 21 1; -#X connect 19 0 20 0; -#X connect 20 0 21 0; -#X connect 21 0 9 0; -#X connect 21 1 13 0; -#X connect 21 2 17 0; -#X connect 22 0 21 0; -#X connect 23 0 22 0; -#X connect 24 0 36 0; -#X connect 25 0 36 1; -#X connect 26 0 30 0; -#X connect 27 0 36 0; -#X connect 28 0 36 0; -#X connect 29 0 36 0; -#X connect 30 0 36 0; -#X connect 36 0 1 0; -#X connect 40 0 41 0; -#X connect 41 0 21 0; -#X connect 42 0 21 0; -#X connect 43 0 21 0; +#X connect 18 0 17 0; +#X connect 20 0 31 0; +#X connect 21 0 22 0; +#X connect 23 0 24 0; +#X connect 25 0 42 0; +#X connect 26 0 29 0; +#X connect 27 0 28 0; +#X connect 28 0 31 1; +#X connect 29 0 30 0; +#X connect 30 0 31 0; +#X connect 31 0 43 1; +#X connect 31 2 27 0; +#X connect 32 0 31 0; +#X connect 33 0 32 0; +#X connect 34 0 31 0; +#X connect 34 0 45 0; +#X connect 35 0 31 0; +#X connect 36 0 31 0; +#X connect 37 0 34 0; +#X connect 37 0 33 0; +#X connect 38 0 25 0; +#X connect 39 0 41 0; +#X connect 40 0 39 0; +#X connect 41 0 23 0; +#X connect 42 0 12 0; +#X connect 43 0 38 0; +#X connect 43 0 40 0; +#X connect 44 0 43 2; +#X connect 45 0 43 0; +#X connect 46 0 45 0; +#X connect 47 0 45 0; +#X connect 48 0 45 0; +#X connect 49 0 45 0; +#X connect 50 0 45 0; diff --git a/pix_opencv_motempl-help.pd b/pix_opencv_motempl-help.pd index 4e27a3c..5fd7618 100644 --- a/pix_opencv_motempl-help.pd +++ b/pix_opencv_motempl-help.pd @@ -1,8 +1,61 @@ -#N canvas 5 49 1025 780 10; -#X obj 398 31 gemhead; -#X obj 373 555 pix_texture; -#X obj 373 583 square 2; -#X obj 37 457 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577 +#N canvas 0 25 1659 940 10; +#X obj 535 783 pix_texture; +#X obj 535 811 square 2; +#X obj 504 497 cnv 15 550 251 empty empty empty 20 12 0 14 -24198 -66577 +0; +#X floatatom 669 841 5 0 0 0 - - -; +#X floatatom 704 841 5 0 0 0 - - -; +#X floatatom 741 841 5 0 0 0 - - -; +#X floatatom 775 841 5 0 0 0 - - -; +#X floatatom 698 890 5 0 0 0 - - -; +#X floatatom 733 890 5 0 0 0 - - -; +#X floatatom 770 890 5 0 0 0 - - -; +#X floatatom 804 890 5 0 0 0 - - -; +#X floatatom 742 946 5 0 0 0 - - -; +#X floatatom 777 946 5 0 0 0 - - -; +#X floatatom 814 946 5 0 0 0 - - -; +#X floatatom 848 946 5 0 0 0 - - -; +#X obj 666 812 unpack 0 0 0 0 0; +#X obj 695 861 unpack 0 0 0 0 0; +#X obj 739 917 unpack 0 0 0 0 0; +#X floatatom 812 840 5 0 0 0 - - -; +#X floatatom 842 890 5 0 0 0 - - -; +#X floatatom 886 946 5 0 0 0 - - -; +#X text 726 779 For each motion component component; +#X text 788 812 (-1) means the whole image; +#X text 863 838 Xcenter Ycenter Width Height Angle; +#X text 884 889 Xcenter Ycenter Width Height Angle; +#X text 931 945 Xcenter Ycenter Width Height Angle; +#X floatatom 649 621 5 0 0 0 - - -; +#X floatatom 682 595 5 0 0 0 - - -; +#X text 689 623 Threshold value. (default 30); +#X msg 577 594 mhi_duration \$1; +#X floatatom 670 524 5 0 0 0 - - -; +#X msg 555 523 max_time_delta \$1; +#X floatatom 679 548 5 0 0 0 - - -; +#X msg 562 545 min_time_delta \$1; +#X floatatom 703 572 5 0 0 0 - - -; +#X msg 572 569 frame_buffer_num \$1; +#X floatatom 676 639 5 0 0 0 - - -; +#X floatatom 687 658 5 0 0 0 - - -; +#X text 727 660 Max size of the motion component (default 500); +#X text 717 639 Min size of the motion component (default 50); +#X text 740 570 Number of frames in the buffer. (default 4); +#X text 709 522 Max time delta in seconds. (default 0.5); +#X text 720 547 Min time delta in seconds. (default 0.05); +#X obj 533 694 pix_opencv_motempl; +#X msg 536 502 aperture \$1; +#X text 712 503 aperture ( 3 \, 5 or 7 \, default 3 ); +#X msg 616 502 3; +#X msg 649 502 5; +#X msg 680 502 7; +#X text 719 596 Maximal duration of motion track in seconds; +#X text 57 177 written by Lluis Gomez i Bigorda ( lluisgomez@hangar.org +); +#X text 59 153 pix_opencv_motempl : opencv motion detection based on +movement history; +#X obj 666 761 route -1 1 2 3 4; +#X obj 61 49 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; @@ -17,11 +70,11 @@ #X connect 0 0 1 0; #X connect 1 0 2 0; #X restore 289 80 pd Gem.init; -#X obj 171 266 gemwin; -#X msg 164 226 create \, 1; -#X msg 252 229 destroy; -#X msg 292 186 frame 5; -#X obj 173 176 t b b b; +#X obj 160 260 gemwin; +#X msg 159 207 create \, 1; +#X msg 235 208 destroy; +#X msg 281 180 frame 5; +#X obj 162 170 t b b b; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 2 0 10 0; @@ -34,145 +87,137 @@ #X connect 9 0 6 0; #X connect 10 0 7 0; #X connect 10 2 9 0; -#X restore 42 501 pd gemwin; -#X msg 42 477 destroy; -#X text 39 460 Create window and render; -#X obj 200 368 pix_texture; -#X obj 200 396 square 2; -#X obj 266 167 translateXYZ -2 0 0; -#X obj 364 205 separator; -#X obj 342 269 cnv 15 550 251 empty empty empty 20 12 0 14 -24198 -66577 -0; -#X obj 474 -37 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +#X restore 66 93 pd gemwin; +#X msg 66 72 create; +#X text 67 54 Create window and render; +#X obj 650 69 gemhead; +#X obj 379 718 pix_texture; +#X obj 379 746 square 2; +#X obj 531 396 separator; +#X obj 662 96 bng 25 250 50 0 load empty empty 0 -6 0 8 -262144 -1 -1; -#X obj 487 157 unpack 0 0 0; -#X floatatom 477 180 5 0 0 3 length - -; -#X floatatom 526 180 5 0 0 3 width - -; -#X floatatom 576 180 5 0 0 3 height - -; -#X obj 531 138 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 +#X obj 719 271 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 -1 -1; -#X floatatom 522 121 5 0 10000 1 frame# - -; -#X obj 474 -8 openpanel; -#X msg 474 12 open \$1; -#X obj 462 121 pix_film; -#X msg 480 55 auto \$1; -#X obj 480 37 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 -; -#X obj 361 240 translateXYZ 4 0 0; -#X floatatom 507 613 5 0 0 0 - - -; -#X floatatom 542 613 5 0 0 0 - - -; -#X floatatom 579 613 5 0 0 0 - - -; -#X floatatom 613 613 5 0 0 0 - - -; -#X floatatom 536 662 5 0 0 0 - - -; -#X floatatom 571 662 5 0 0 0 - - -; -#X floatatom 608 662 5 0 0 0 - - -; -#X floatatom 642 662 5 0 0 0 - - -; -#X floatatom 580 718 5 0 0 0 - - -; -#X floatatom 615 718 5 0 0 0 - - -; -#X floatatom 652 718 5 0 0 0 - - -; -#X floatatom 686 718 5 0 0 0 - - -; -#X obj 504 584 unpack 0 0 0 0 0; -#X obj 533 633 unpack 0 0 0 0 0; -#X obj 577 689 unpack 0 0 0 0 0; -#X floatatom 650 612 5 0 0 0 - - -; -#X floatatom 680 662 5 0 0 0 - - -; -#X floatatom 724 718 5 0 0 0 - - -; -#X text 564 551 For each motion component component; -#X text 626 584 (-1) means the whole image; -#X text 701 610 Xcenter Ycenter Width Height Angle; -#X text 722 661 Xcenter Ycenter Width Height Angle; -#X text 769 717 Xcenter Ycenter Width Height Angle; -#X floatatom 487 393 5 0 0 0 - - -; -#X floatatom 520 367 5 0 0 0 - - -; -#X text 527 395 Threshold value. (default 30); -#X msg 415 366 mhi_duration \$1; -#X floatatom 508 296 5 0 0 0 - - -; -#X msg 393 295 max_time_delta \$1; -#X floatatom 517 320 5 0 0 0 - - -; -#X msg 400 317 min_time_delta \$1; -#X floatatom 541 344 5 0 0 0 - - -; -#X msg 410 341 frame_buffer_num \$1; -#X floatatom 514 411 5 0 0 0 - - -; -#X floatatom 525 430 5 0 0 0 - - -; -#X text 565 432 Max size of the motion component (default 500); -#X text 555 411 Min size of the motion component (default 50); -#X text 578 342 Number of frames in the buffer. (default 4); -#X text 547 294 Max time delta in seconds. (default 0.5); -#X text 558 319 Min time delta in seconds. (default 0.05); -#X obj 371 466 pix_opencv_motempl; -#X msg 374 274 aperture \$1; -#X text 550 275 aperture ( 3 \, 5 or 7 \, default 3 ); -#X msg 454 274 3; -#X msg 487 274 5; -#X msg 518 274 7; -#X text 557 368 Maximal duration of motion track in seconds; -#X text 24 88 written by Lluis Gomez i Bigorda ( lluisgomez@hangar.org -); -#X text 26 64 pix_opencv_motempl : opencv motion detection based on -movement history; -#X obj 537 45 loadbang; -#X msg 537 70 colorspace RGBA; -#X msg 641 70 colorspace RGB; -#X msg 600 44 colorspace Grey; -#X obj 504 533 route -1 1 2 3 4; -#X connect 0 0 21 0; -#X connect 1 0 2 0; -#X connect 4 0 5 0; -#X connect 5 0 4 0; -#X connect 7 0 8 0; -#X connect 9 0 7 0; -#X connect 9 0 10 0; -#X connect 10 0 24 0; -#X connect 12 0 19 0; -#X connect 13 0 14 0; -#X connect 13 1 15 0; -#X connect 13 2 16 0; -#X connect 17 0 18 0; -#X connect 18 0 21 1; -#X connect 19 0 20 0; -#X connect 20 0 21 0; -#X connect 21 0 9 0; -#X connect 21 1 13 0; -#X connect 21 2 17 0; -#X connect 22 0 21 0; -#X connect 23 0 22 0; -#X connect 24 0 65 0; -#X connect 37 0 25 0; -#X connect 37 1 26 0; -#X connect 37 2 27 0; -#X connect 37 3 28 0; -#X connect 37 4 40 0; -#X connect 38 0 29 0; -#X connect 38 1 30 0; -#X connect 38 2 31 0; -#X connect 38 3 32 0; -#X connect 38 4 41 0; -#X connect 39 0 33 0; -#X connect 39 1 34 0; -#X connect 39 2 35 0; -#X connect 39 3 36 0; -#X connect 39 4 42 0; -#X connect 48 0 65 1; -#X connect 49 0 51 0; -#X connect 51 0 65 0; -#X connect 52 0 53 0; -#X connect 53 0 65 0; +#X floatatom 701 236 5 0 10000 1 frame# - -; +#X obj 662 125 openpanel; +#X msg 662 145 open \$1; +#X obj 650 254 pix_film; +#X msg 668 188 auto \$1; +#X obj 668 170 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +1; +#X msg 763 171 colorspace RGBA; +#X msg 868 171 colorspace RGB; +#X msg 972 171 colorspace Grey; +#X obj 763 143 loadbang; +#X obj 530 367 pix_separator; +#X obj 379 399 separator; +#X obj 379 370 pix_separator; +#X obj 379 434 translateXYZ -2 0 0; +#X obj 531 431 translateXYZ 2 0 0; +#N canvas 0 0 450 300 vswitch 0; +#X obj 144 263 outlet; +#X obj 36 26 inlet; +#X obj 260 29 inlet; +#X obj 36 133 spigot; +#X obj 260 141 spigot; +#X obj 119 64 loadbang; +#X msg 83 93 0; +#X msg 113 93 1; +#X msg 296 104 0; +#X msg 326 104 1; +#X obj 399 34 inlet; +#X obj 399 67 select 0; +#X connect 1 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 7 0; +#X connect 5 0 8 0; +#X connect 6 0 3 1; +#X connect 7 0 3 1; +#X connect 8 0 4 1; +#X connect 9 0 4 1; +#X connect 10 0 11 0; +#X connect 11 0 7 0; +#X connect 11 0 8 0; +#X connect 11 1 9 0; +#X connect 11 1 6 0; +#X restore 472 324 pd vswitch; +#X obj 540 324 tgl 15 0 empty load empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 413 252 pix_video; +#X obj 413 64 gemhead; +#X msg 452 177 device 0; +#X msg 461 208 driver 1; +#X msg 438 123 dialog; +#X msg 443 153 device /dev/dv1394-0; +#X connect 0 0 1 0; +#X connect 15 0 3 0; +#X connect 15 1 4 0; +#X connect 15 2 5 0; +#X connect 15 3 6 0; +#X connect 15 4 18 0; +#X connect 16 0 7 0; +#X connect 16 1 8 0; +#X connect 16 2 9 0; +#X connect 16 3 10 0; +#X connect 16 4 19 0; +#X connect 17 0 11 0; +#X connect 17 1 12 0; +#X connect 17 2 13 0; +#X connect 17 3 14 0; +#X connect 17 4 20 0; +#X connect 26 0 43 1; +#X connect 27 0 29 0; +#X connect 29 0 43 0; +#X connect 30 0 31 0; +#X connect 31 0 43 0; +#X connect 32 0 33 0; +#X connect 33 0 43 0; +#X connect 34 0 35 0; +#X connect 35 0 43 0; +#X connect 36 0 43 2; +#X connect 37 0 43 3; +#X connect 43 0 0 0; +#X connect 43 1 52 0; +#X connect 44 0 43 0; +#X connect 46 0 44 0; +#X connect 47 0 44 0; +#X connect 48 0 44 0; +#X connect 52 0 15 0; +#X connect 52 1 16 0; +#X connect 52 2 17 0; #X connect 54 0 55 0; -#X connect 55 0 65 0; -#X connect 56 0 57 0; -#X connect 57 0 65 0; -#X connect 58 0 65 2; -#X connect 59 0 65 3; -#X connect 65 0 1 0; -#X connect 65 1 78 0; -#X connect 66 0 65 0; -#X connect 68 0 66 0; +#X connect 55 0 54 0; +#X connect 57 0 66 0; +#X connect 58 0 59 0; +#X connect 60 0 77 0; +#X connect 61 0 64 0; +#X connect 62 0 63 0; +#X connect 63 0 66 1; +#X connect 64 0 65 0; +#X connect 65 0 66 0; +#X connect 66 0 78 1; +#X connect 66 2 62 0; +#X connect 67 0 66 0; +#X connect 68 0 67 0; #X connect 69 0 66 0; +#X connect 69 0 80 0; #X connect 70 0 66 0; -#X connect 74 0 75 0; -#X connect 75 0 21 0; -#X connect 76 0 21 0; -#X connect 77 0 21 0; -#X connect 78 0 37 0; -#X connect 78 1 38 0; -#X connect 78 2 39 0; +#X connect 71 0 66 0; +#X connect 72 0 69 0; +#X connect 72 0 68 0; +#X connect 73 0 60 0; +#X connect 74 0 76 0; +#X connect 75 0 74 0; +#X connect 76 0 58 0; +#X connect 77 0 43 0; +#X connect 78 0 73 0; +#X connect 78 0 75 0; +#X connect 79 0 78 2; +#X connect 80 0 78 0; +#X connect 81 0 80 0; +#X connect 82 0 80 0; +#X connect 83 0 80 0; +#X connect 84 0 80 0; +#X connect 85 0 80 0; diff --git a/pix_opencv_pgh_compare-help.pd b/pix_opencv_pgh_compare-help.pd index ae9787e..6421e77 100644 --- a/pix_opencv_pgh_compare-help.pd +++ b/pix_opencv_pgh_compare-help.pd @@ -1,4 +1,4 @@ -#N canvas 98 117 1154 642 10; +#N canvas 482 166 1154 642 10; #X obj 821 9 gemhead; #X obj 372 500 pix_texture; #X obj 372 528 square 2; @@ -48,7 +48,7 @@ #X msg 485 -41 open \$1; #X obj 473 68 pix_film; #X msg 491 2 auto \$1; -#X obj 491 -16 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 +#X obj 491 -16 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1; #X floatatom 506 439 30 0 0 0 - - -; #X text 511 422 distance; @@ -59,9 +59,6 @@ -1 -1 0 1; #X text 696 420 criteria value; #X floatatom 701 439 10 0 0 0 - - -; -#X text 528 376 calculating their hu moments ( CvMatchShape ); -#X text 527 364 compares the contours to the pattern reference contour -; #X msg 478 319 criteria \$1; #X obj 562 320 r cdist; #X text 615 314 criteria value under which the contour is recongnized @@ -112,7 +109,7 @@ example code from OpenCV book; #X msg 548 -2 colorspace RGBA; #X msg 652 -2 colorspace RGB; #X msg 611 -28 colorspace Grey; -#X connect 0 0 40 0; +#X connect 0 0 38 0; #X connect 1 0 2 0; #X connect 4 0 5 0; #X connect 5 0 4 0; @@ -121,49 +118,49 @@ example code from OpenCV book; #X connect 10 0 13 1; #X connect 11 0 12 0; #X connect 12 0 13 0; -#X connect 13 0 60 0; +#X connect 13 0 58 0; #X connect 13 2 9 0; #X connect 14 0 13 0; #X connect 15 0 14 0; -#X connect 16 0 64 0; +#X connect 16 0 62 0; #X connect 18 0 19 0; #X connect 20 0 22 0; -#X connect 20 0 64 1; -#X connect 25 0 61 0; -#X connect 26 0 25 0; -#X connect 28 0 61 0; -#X connect 29 0 28 0; -#X connect 31 0 61 0; -#X connect 33 0 31 0; -#X connect 36 0 41 0; -#X connect 40 0 58 0; -#X connect 41 0 43 0; -#X connect 42 0 59 0; -#X connect 43 0 40 0; -#X connect 44 0 54 2; -#X connect 46 0 47 0; -#X connect 47 0 44 0; -#X connect 48 0 44 0; -#X connect 49 0 52 0; -#X connect 49 0 55 2; -#X connect 50 0 51 0; -#X connect 51 0 49 0; -#X connect 53 0 56 0; -#X connect 54 0 42 0; -#X connect 54 0 53 0; -#X connect 54 0 61 1; -#X connect 55 0 61 0; -#X connect 57 0 54 0; -#X connect 58 0 57 0; -#X connect 59 0 13 0; -#X connect 60 0 55 0; -#X connect 61 0 1 0; -#X connect 61 1 16 0; -#X connect 64 0 18 0; -#X connect 66 0 67 0; +#X connect 20 0 62 1; +#X connect 23 0 59 0; +#X connect 24 0 23 0; +#X connect 26 0 59 0; +#X connect 27 0 26 0; +#X connect 29 0 59 0; +#X connect 31 0 29 0; +#X connect 34 0 39 0; +#X connect 38 0 56 0; +#X connect 39 0 41 0; +#X connect 40 0 57 0; +#X connect 41 0 38 0; +#X connect 42 0 52 2; +#X connect 44 0 45 0; +#X connect 45 0 42 0; +#X connect 46 0 42 0; +#X connect 47 0 50 0; +#X connect 47 0 53 2; +#X connect 48 0 49 0; +#X connect 49 0 47 0; +#X connect 51 0 54 0; +#X connect 52 0 40 0; +#X connect 52 0 51 0; +#X connect 52 0 59 1; +#X connect 53 0 59 0; +#X connect 55 0 52 0; +#X connect 56 0 55 0; +#X connect 57 0 13 0; +#X connect 58 0 53 0; +#X connect 59 0 1 0; +#X connect 59 1 16 0; +#X connect 62 0 18 0; +#X connect 64 0 65 0; +#X connect 65 0 13 0; +#X connect 65 0 38 0; +#X connect 66 0 38 0; +#X connect 66 0 13 0; #X connect 67 0 13 0; -#X connect 67 0 40 0; -#X connect 68 0 40 0; -#X connect 68 0 13 0; -#X connect 69 0 13 0; -#X connect 69 0 40 0; +#X connect 67 0 38 0; diff --git a/pix_opencv_threshold-help.pd b/pix_opencv_threshold-help.pd index 698d4ea..1854cef 100644 --- a/pix_opencv_threshold-help.pd +++ b/pix_opencv_threshold-help.pd @@ -1,13 +1,33 @@ -#N canvas 1 49 820 711 10; -#X obj 277 -24 gemhead; -#X obj 182 509 pix_texture; -#X obj 182 537 square 2; -#X obj 554 196 cnv 15 220 70 empty empty empty 20 12 0 14 -195568 -66577 +#N canvas 577 161 1077 791 10; +#X obj 174 365 cnv 15 600 180 empty empty empty 20 12 0 14 -4034 -66577 0; +#X floatatom 300 424 5 0 0 0 - - -; +#X msg 503 503 mode \$1; +#X floatatom 254 405 5 0 0 0 - - -; +#X text 254 388 Max value used in some modes; +#X msg 480 391 0; +#X msg 501 414 1; +#X msg 524 437 2; +#X msg 548 458 3; +#X msg 575 481 4; +#X text 297 408 threshold value; +#X text 554 503 thresholding mode ( default 0 ); +#X text 512 389 pixel >= threshold; +#X text 552 436 pixel >= threshold set to threshold; +#X text 530 413 pixel <= threshold; +#X text 579 457 pixel <= threshold set to 0; +#X text 603 479 pixel >= threshold set to 0; +#X obj 191 449 pix_opencv_threshold; +#X text 333 425 ( default 50 ); +#X obj 310 -76 gemhead; +#X obj 191 565 pix_texture; +#X obj 191 584 square 2; +#X obj -290 -42 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; -#X obj 67 41 route create; +#X obj 65 41 route create; #X msg 67 70 set destroy; #X msg 182 68 set create; #N canvas 87 154 247 179 Gem.init 0; @@ -17,11 +37,11 @@ #X connect 0 0 1 0; #X connect 1 0 2 0; #X restore 289 80 pd Gem.init; -#X obj 171 266 gemwin; -#X msg 164 226 create \, 1; -#X msg 252 229 destroy; -#X msg 292 186 frame 5; -#X obj 173 176 t b b b; +#X obj 162 241 gemwin; +#X msg 161 188 create \, 1; +#X msg 237 189 destroy; +#X msg 283 161 frame 5; +#X obj 164 126 t b b b; #X connect 1 0 2 0; #X connect 2 0 3 0; #X connect 2 0 10 0; @@ -34,81 +54,114 @@ #X connect 9 0 6 0; #X connect 10 0 7 0; #X connect 10 2 9 0; -#X restore 564 240 pd gemwin; -#X msg 564 222 create; -#X obj 29 508 pix_texture; -#X obj 29 536 square 2; -#X obj 158 168 translateXYZ -2 0 0; -#X obj 180 240 separator; -#X obj 170 -57 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1 +#X restore -280 2 pd gemwin; +#X msg -280 -16 create; +#X obj 39 561 pix_texture; +#X obj 39 589 square 2; +#X obj 191 251 separator; +#X obj 322 -49 bng 25 250 50 0 load empty empty 0 -6 0 8 -262144 -1 -1; -#X obj 227 118 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 +#X obj 379 126 bng 15 250 50 0 empty empty end_reached 20 7 0 10 -262144 -1 -1; -#X floatatom 209 83 5 0 10000 1 frame# - -; -#X obj 170 -28 openpanel; -#X msg 170 -8 open \$1; -#X obj 158 101 pix_film; -#X msg 176 35 auto \$1; -#X obj 176 17 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 +#X floatatom 361 91 5 0 10000 1 frame# - -; +#X obj 322 -20 openpanel; +#X msg 322 0 open \$1; +#X obj 310 109 pix_film; +#X msg 328 43 auto \$1; +#X obj 328 25 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1 ; -#X obj 177 275 translateXYZ 4 0 0; -#X obj 178 298 cnv 15 600 180 empty empty empty 20 12 0 14 -4034 -66577 -0; -#X text 562 199 Create window and render; -#X floatatom 306 359 5 0 0 0 - - -; -#X msg 490 438 mode \$1; -#X floatatom 260 340 5 0 0 0 - - -; -#X text 260 323 Max value used in some modes; -#X msg 467 326 0; -#X msg 488 349 1; -#X msg 511 372 2; -#X msg 535 393 3; -#X msg 562 416 4; -#X text 303 343 threshold value; -#X text 541 438 thresholding mode ( default 0 ); -#X text 499 324 pixel >= threshold; -#X text 539 371 pixel >= threshold set to threshold; -#X text 517 348 pixel <= threshold; -#X text 566 392 pixel <= threshold set to 0; -#X text 590 414 pixel >= threshold set to 0; -#X obj 198 384 pix_opencv_threshold; -#X text 402 118 written by Lluis Gomez i Bigorda ( lluisgomez@hangar.org +#X text -282 -36 Create window and render; +#X msg 423 26 colorspace RGBA; +#X msg 528 26 colorspace RGB; +#X msg 632 26 colorspace Grey; +#X obj 423 -2 loadbang; +#X obj 190 222 pix_separator; +#X obj 39 254 separator; +#X obj 39 225 pix_separator; +#X obj 39 289 translateXYZ -2 0 0; +#X obj 191 286 translateXYZ 2 0 0; +#N canvas 0 0 450 300 vswitch 0; +#X obj 144 263 outlet; +#X obj 36 26 inlet; +#X obj 260 29 inlet; +#X obj 36 133 spigot; +#X obj 260 141 spigot; +#X obj 119 64 loadbang; +#X msg 83 93 0; +#X msg 113 93 1; +#X msg 296 104 0; +#X msg 326 104 1; +#X obj 399 34 inlet; +#X obj 399 67 select 0; +#X connect 1 0 3 0; +#X connect 2 0 4 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 5 0 7 0; +#X connect 5 0 8 0; +#X connect 6 0 3 1; +#X connect 7 0 3 1; +#X connect 8 0 4 1; +#X connect 9 0 4 1; +#X connect 10 0 11 0; +#X connect 11 0 7 0; +#X connect 11 0 8 0; +#X connect 11 1 9 0; +#X connect 11 1 6 0; +#X restore 132 179 pd vswitch; +#X obj 200 179 tgl 15 0 empty load empty 17 7 0 10 -262144 -1 -1 0 +1; +#X obj 73 107 pix_video; +#X obj 73 -81 gemhead; +#X msg 112 32 device 0; +#X msg 121 63 driver 1; +#X msg 98 -22 dialog; +#X msg 103 8 device /dev/dv1394-0; +#X text -293 65 written by Lluis Gomez i Bigorda ( lluisgomez@hangar.org ); -#X text 401 106 used as a filter to detect bright or dark piksels; -#X text 402 93 pix_opencv_threshold : pixel thresholding; -#X text 339 360 ( default 50 ); -#X obj 247 27 loadbang; -#X msg 247 52 colorspace RGBA; -#X msg 351 52 colorspace RGB; -#X msg 310 26 colorspace Grey; -#X connect 0 0 15 0; -#X connect 1 0 2 0; -#X connect 4 0 5 0; -#X connect 5 0 4 0; -#X connect 6 0 7 0; -#X connect 8 0 6 0; -#X connect 8 0 9 0; -#X connect 9 0 18 0; -#X connect 10 0 13 0; -#X connect 11 0 12 0; -#X connect 12 0 15 1; -#X connect 13 0 14 0; -#X connect 14 0 15 0; -#X connect 15 0 8 0; -#X connect 15 2 11 0; -#X connect 16 0 15 0; -#X connect 17 0 16 0; -#X connect 18 0 37 0; -#X connect 21 0 37 2; -#X connect 22 0 37 0; -#X connect 23 0 37 1; -#X connect 25 0 22 0; -#X connect 26 0 22 0; -#X connect 27 0 22 0; -#X connect 28 0 22 0; -#X connect 29 0 22 0; -#X connect 37 0 1 0; -#X connect 42 0 43 0; -#X connect 43 0 15 0; -#X connect 44 0 15 0; -#X connect 45 0 15 0; +#X text -294 53 used as a filter to detect bright or dark piksels; +#X text -293 40 pix_opencv_threshold : pixel thresholding; +#X connect 1 0 17 2; +#X connect 2 0 17 0; +#X connect 3 0 17 1; +#X connect 5 0 2 0; +#X connect 6 0 2 0; +#X connect 7 0 2 0; +#X connect 8 0 2 0; +#X connect 9 0 2 0; +#X connect 17 0 20 0; +#X connect 19 0 33 0; +#X connect 20 0 21 0; +#X connect 23 0 24 0; +#X connect 24 0 23 0; +#X connect 25 0 26 0; +#X connect 27 0 45 0; +#X connect 28 0 31 0; +#X connect 29 0 30 0; +#X connect 30 0 33 1; +#X connect 31 0 32 0; +#X connect 32 0 33 0; +#X connect 33 0 46 1; +#X connect 33 2 29 0; +#X connect 34 0 33 0; +#X connect 35 0 34 0; +#X connect 37 0 33 0; +#X connect 37 0 48 0; +#X connect 38 0 33 0; +#X connect 39 0 33 0; +#X connect 40 0 37 0; +#X connect 40 0 35 0; +#X connect 41 0 27 0; +#X connect 42 0 44 0; +#X connect 43 0 42 0; +#X connect 44 0 25 0; +#X connect 45 0 17 0; +#X connect 46 0 41 0; +#X connect 46 0 43 0; +#X connect 47 0 46 2; +#X connect 48 0 46 0; +#X connect 49 0 48 0; +#X connect 50 0 48 0; +#X connect 51 0 48 0; +#X connect 52 0 48 0; +#X connect 53 0 48 0; |