aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pix_opencv_athreshold-help.pd175
-rw-r--r--pix_opencv_bgsubstract-help.pd211
-rw-r--r--pix_opencv_camshift-help.pd291
-rw-r--r--pix_opencv_contours_boundingrect-help.pd348
-rw-r--r--pix_opencv_contours_convexhull-help.pd244
-rw-r--r--pix_opencv_contours_convexity-help.pd357
-rw-r--r--pix_opencv_dft-help.pd189
-rw-r--r--pix_opencv_distrans-help.pd199
-rw-r--r--pix_opencv_edge-help.pd153
-rw-r--r--pix_opencv_floodfill-help.pd275
-rw-r--r--pix_opencv_haarcascade-help.pd329
-rw-r--r--pix_opencv_hist_compare-help.pd227
-rw-r--r--pix_opencv_hough_circles-help.pd277
-rw-r--r--pix_opencv_hough_lines-help.pd316
-rw-r--r--pix_opencv_hu_compare-help.pd65
-rw-r--r--pix_opencv_laplace-help.pd185
-rw-r--r--pix_opencv_lk-help.pd395
-rw-r--r--pix_opencv_morphology-help.pd215
-rw-r--r--pix_opencv_motempl-help.pd339
-rw-r--r--pix_opencv_pgh_compare-help.pd89
-rw-r--r--pix_opencv_threshold-help.pd223
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;