diff options
Diffstat (limited to 'packages/noncvs/windows/extra/pix_mano')
-rw-r--r-- | packages/noncvs/windows/extra/pix_mano/LICENSE.txt | 4 | ||||
-rw-r--r-- | packages/noncvs/windows/extra/pix_mano/pix_mano-help.pd | 850 | ||||
-rw-r--r-- | packages/noncvs/windows/extra/pix_mano/pix_mano.dll | bin | 25600 -> 25600 bytes |
3 files changed, 427 insertions, 427 deletions
diff --git a/packages/noncvs/windows/extra/pix_mano/LICENSE.txt b/packages/noncvs/windows/extra/pix_mano/LICENSE.txt index 4642cd5b..f0158c4c 100644 --- a/packages/noncvs/windows/extra/pix_mano/LICENSE.txt +++ b/packages/noncvs/windows/extra/pix_mano/LICENSE.txt @@ -4,8 +4,8 @@ http://www.jaimeoliver.pe/instrumentos/mano based on:
GEM - Graphics Environment for Multimedia
- Copyright (C) 1997-2000 Mark Danks, Günter Geiger,
- Copyright (c) 2001-2010 IOhannes m zmölnig
+ Copyright (C) 1997-2000 Mark Danks, Günter Geiger,
+ Copyright (c) 2001-2010 IOhannes m zmölnig
Copyright (c) 2003-2007 James Tittle II,
Copyright (c) 2003-2008 Chris Clepper et al.
diff --git a/packages/noncvs/windows/extra/pix_mano/pix_mano-help.pd b/packages/noncvs/windows/extra/pix_mano/pix_mano-help.pd index 5359bbb2..5dca26d3 100644 --- a/packages/noncvs/windows/extra/pix_mano/pix_mano-help.pd +++ b/packages/noncvs/windows/extra/pix_mano/pix_mano-help.pd @@ -1,425 +1,425 @@ -#N canvas 326 0 854 742 10; -#X obj 556 -8 bng 15 250 50 0 refresh_var empty load-presets 17 7 0 -10 -257985 -1 -1; -#X obj 161 116 pix_grey; -#X floatatom 117 -50 5 0 0 1 bottom bottom -; -#X floatatom 152 -33 5 0 0 1 top top -; -#X obj 161 156 pix_texture; -#X obj 152 19 t b f; -#X floatatom 194 -14 5 0 0 1 right right -; -#X obj 194 19 t b f; -#X floatatom 235 1 5 0 0 1 left left -; -#X obj 235 19 t b f; -#X obj 35 16 t b f; -#X obj 15 43 pack f f f; -#X obj 73 16 t b f; -#X floatatom 35 -17 5 0 0 1 thresh thresh -; -#X obj 304 19 t b f; -#X obj 345 19 t b f; -#X floatatom 15 -33 5 0 0 1 mode mode -; -#X floatatom 73 -2 5 0 0 1 tip_scalar tip_scalar -; -#X floatatom 273 -58 5 0 0 1 pix_avg pix_avg -; -#X floatatom 304 -42 5 0 0 1 pix_tip pix_tip -; -#X floatatom 345 -27 5 0 0 1 min_entry_size min_entry_size -; -#X obj 384 20 t b f; -#X floatatom 384 -12 5 0 0 1 min_perim min_perim -; -#X floatatom 424 3 5 0 0 1 pix_samp pix_samp -; -#X obj 424 20 t b f; -#X obj 273 47 pack f f f f f; -#X obj 161 76 gemhead 1; -#X obj 161 96 pix_video; -#N canvas 0 0 450 300 print 0; -#X obj 131 36 inlet; -#X obj 131 57 spigot; -#X obj 131 78 print; -#X obj 228 27 loadbang; -#X msg 228 48 0; -#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 -1; -#X text 103 105 print?; -#X connect 0 0 1 0; -#X connect 1 0 2 0; -#X connect 3 0 4 0; -#X connect 4 0 5 0; -#X connect 5 0 1 1; -#X coords 0 -1 1 1 60 23 2 100 100; -#X restore 32 204 pd print; -#N canvas 0 0 450 300 print 0; -#X obj 131 36 inlet; -#X obj 131 57 spigot; -#X obj 131 78 print; -#X obj 228 27 loadbang; -#X msg 228 48 0; -#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 -1; -#X text 103 105 print?; -#X connect 0 0 1 0; -#X connect 1 0 2 0; -#X connect 3 0 4 0; -#X connect 4 0 5 0; -#X connect 5 0 1 1; -#X coords 0 -1 1 1 60 23 2 100 100; -#X restore 100 204 pd print; -#N canvas 0 0 450 300 print 0; -#X obj 131 36 inlet; -#X obj 131 57 spigot; -#X obj 131 78 print; -#X obj 228 27 loadbang; -#X msg 228 48 0; -#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 -1; -#X text 103 105 print?; -#X connect 0 0 1 0; -#X connect 1 0 2 0; -#X connect 3 0 4 0; -#X connect 4 0 5 0; -#X connect 5 0 1 1; -#X coords 0 -1 1 1 60 23 2 100 100; -#X restore 167 204 pd print; -#N canvas 0 0 450 300 print 0; -#X obj 131 36 inlet; -#X obj 131 57 spigot; -#X obj 131 78 print; -#X obj 228 27 loadbang; -#X msg 228 48 0; -#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 -1; -#X text 103 105 print?; -#X connect 0 0 1 0; -#X connect 1 0 2 0; -#X connect 3 0 4 0; -#X connect 4 0 5 0; -#X connect 5 0 1 1; -#X coords 0 -1 1 1 60 23 2 100 100; -#X restore 235 204 pd print; -#N canvas 0 0 450 300 print 0; -#X obj 131 36 inlet; -#X obj 131 57 spigot; -#X obj 131 78 print; -#X obj 228 27 loadbang; -#X msg 228 48 0; -#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 -1; -#X text 103 105 print?; -#X connect 0 0 1 0; -#X connect 1 0 2 0; -#X connect 3 0 4 0; -#X connect 4 0 5 0; -#X connect 5 0 1 1; -#X coords 0 -1 1 1 60 23 2 100 100; -#X restore 301 204 pd print; -#N canvas 0 0 450 300 print 0; -#X obj 131 36 inlet; -#X obj 131 57 spigot; -#X obj 131 78 print; -#X obj 228 27 loadbang; -#X msg 228 48 0; -#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 -1; -#X text 103 105 print?; -#X connect 0 0 1 0; -#X connect 1 0 2 0; -#X connect 3 0 4 0; -#X connect 4 0 5 0; -#X connect 5 0 1 1; -#X coords 0 -1 1 1 60 23 2 100 100; -#X restore 369 204 pd print; -#N canvas 716 528 225 177 gemwin 0; -#X obj 61 138 gemwin; -#X msg 46 83 create \, 1; -#X msg 142 99 0 \, destroy; -#X obj 24 12 loadbang; -#X obj 24 38 t b b b; -#X msg 126 65 dimen 320 240; -#X connect 1 0 0 0; -#X connect 2 0 0 0; -#X connect 3 0 4 0; -#X connect 4 1 1 0; -#X connect 4 2 5 0; -#X connect 5 0 0 0; -#X restore 556 -49 pd gemwin; -#N canvas 621 151 306 719 graphs-outlet2 0; -#N canvas 0 22 450 300 (subpatch) 0; -#X array x 150 float 1; -#A 0 24 293 290 286 281 274 269 264 261 260 258 253 248 246 250 258 -266 274 282 279 286 295 295 187 195 203 211 219 227 235 243 251 259 -265 267 267 268 271 275 277 278 278 277 277 279 283 287 289 292 296 -300 305 309 311 311 311 311 311 311 311 311 311 311 311 311 311 311 -311 311 311 311 311 311 311 311 309 304 296 288 280 273 268 262 256 -248 240 232 224 216 208 200 192 184 176 168 160 152 144 136 128 120 -112 104 96 88 80 72 64 56 48 40 32 24 16 11 9 9 9 9 9 9 9 9 9 9 9 9 -9 9 9 13 169 169 164 162 167 170 166 162 165 169 13 97 105 113 120 -122 118 110 172; -#X coords 0 320 149 0 300 140 1; -#X restore -136 -398 graph; -#N canvas 0 22 450 300 (subpatch) 0; -#X array y 150 float 1; -#A 0 253 470 467 460 453 448 446 446 448 452 458 462 467 471 472 472 -472 472 472 472 472 470 470 445 444 443 442 441 440 439 438 437 435 -431 425 417 413 415 420 420 414 406 398 390 387 389 397 405 412 420 -426 432 432 427 419 411 403 395 387 379 371 363 355 347 339 331 323 -315 307 299 291 283 275 267 259 253 250 249 249 249 251 253 252 250 -249 249 249 249 249 249 249 249 249 249 249 249 249 249 249 249 249 -249 249 249 249 249 249 249 249 249 249 249 249 250 252 258 266 274 -282 290 298 306 314 322 330 338 346 354 362 370 361 472 471 470 470 -471 471 470 470 471 472 464 461 464 467 469 471 472 472 471; -#X coords 0 480 149 0 300 140 1; -#X restore -137 -245 graph; -#N canvas 0 22 450 300 (subpatch) 0; -#X array angle 150 float 1; -#A 0 0 0.588003 -0.785398 -0.266252 0.101103 0.330297 0.239743 0.380506 -0.588003 0.737815 -0.0767719 -0.574305 0.110657 0.321751 1.78947 0.244979 -0 0 0 0 0 0 0 0.124355 0 0 0 0 0 0 0 0 0.120624 0.343024 0.661043 0.321751 --0.244979 -1.91382 -0.308053 0.896055 1.40565 0.165149 0.124355 -0.124355 --0.588003 -1.44644 -0.643501 -0.218669 0.159913 0.0587558 0.124355 -0.106736 0.876058 1.19029 0.380506 6.12303e-17 6.12303e-17 6.12303e-17 -6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17 -6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17 -6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17 0.321751 -0.708626 0.416065 0.124355 1.22461e-16 0.2783 0.102207 -0.545655 -0.156602 -0.197396 0.124355 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 -1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 -1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 -1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 -1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 0.124355 0.256151 0.868539 -0.321751 -6.12303e-17 -6.12303e-17 -6.12303e-17 -6.12303e-17 -6.12303e-17 --6.12303e-17 -6.12303e-17 -6.12303e-17 -6.12303e-17 -6.12303e-17 -6.12303e-17 --6.12303e-17 -6.12303e-17 0 1.40565 1.73594 1.3734 0.197396 2.9442 -0.197396 2.89661 0.244979 2.81984 0.0767719 0 0.432408 0.104877 0 0.080471 --0.507098 -2.11122 -0.244979 0; -#X coords 0 3.14 149 -3.14 300 200 1; -#X restore -137 -90 graph; -#X obj -131 118 bng 15 250 50 0 cleartables empty empty 17 7 0 10 -257985 --1 -1; -#X text -113 117 clear tables; -#X obj -39 -460 - 480; -#X obj -39 -441 abs; -#X obj -137 -460 tabwrite x; -#X obj -39 -422 tabwrite y; -#X obj 18 -463 tabwrite angle; -#X obj -133 -530 unpack f f f f; -#X obj -133 -506 s o2n; -#X obj -88 -506 s o2x; -#X obj -44 -505 s o2y; -#X obj 1 -505 s o2a; -#X obj -80 -480 r o2n; -#X obj -137 -480 r o2x; -#X obj -39 -480 r o2y; -#X obj 18 -482 r o2a; -#X obj 18 -441 r o2n; -#X obj 99 -482 r o2n; -#X obj -133 -574 inlet; -#X connect 5 0 6 0; -#X connect 6 0 8 0; -#X connect 10 0 11 0; -#X connect 10 1 12 0; -#X connect 10 2 13 0; -#X connect 10 3 14 0; -#X connect 15 0 7 1; -#X connect 16 0 7 0; -#X connect 17 0 5 0; -#X connect 18 0 9 0; -#X connect 19 0 8 1; -#X connect 20 0 9 1; -#X connect 21 0 10 0; -#X restore 100 265 pd graphs-outlet2; -#N canvas 0 0 450 300 print 0; -#X obj 131 36 inlet; -#X obj 131 57 spigot; -#X obj 228 27 loadbang; -#X msg 228 48 0; -#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 -1; -#X text 103 105 graph?; -#X obj 131 78 outlet; -#X connect 0 0 1 0; -#X connect 1 0 6 0; -#X connect 2 0 3 0; -#X connect 3 0 4 0; -#X connect 4 0 1 1; -#X coords 0 -1 1 1 60 23 2 100 100; -#X restore 100 238 pd print; -#N canvas 178 290 743 248 presets 0; -#X text 280 16 head; -#X text 229 16 bottom; -#X text 319 16 right; -#X text 363 16 left; -#X msg 18 30 1; -#X msg 283 33 5; -#X msg 366 33 5; -#X msg 325 33 315; -#X msg 240 33 235; -#X msg 561 22 4; -#X msg 488 24 20; -#X msg 524 23 5; -#X msg 637 21 8; -#X msg 598 22 10; -#X msg 129 30 0.4; -#X msg 71 30 0.74; -#X obj 18 51 s mode; -#X obj 71 51 s thresh; -#X obj 129 51 s tip_scalar; -#X obj 240 54 s bottom; -#X obj 325 54 s right; -#X obj 366 75 s left; -#X obj 488 45 s pix_avg; -#X obj 524 66 s pix_tip; -#X obj 598 43 s min_perim; -#X obj 637 63 s pix_samp; -#X obj 283 75 s top; -#X obj 286 -58 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 --1 -1; -#X obj 286 -78 r refresh_var; -#X obj 64 -15 bang; -#X obj 286 -20 bang; -#X obj 550 -20 bang; -#X obj 561 86 s min_entry_size; -#X text 20 114 These presets are what I use for the MANO Controller -at 320x240.; -#X obj 307 -59 loadbang; -#X connect 4 0 16 0; -#X connect 5 0 26 0; -#X connect 6 0 21 0; -#X connect 7 0 20 0; -#X connect 8 0 19 0; -#X connect 9 0 32 0; -#X connect 10 0 22 0; -#X connect 11 0 23 0; -#X connect 12 0 25 0; -#X connect 13 0 24 0; -#X connect 14 0 18 0; -#X connect 15 0 17 0; -#X connect 27 0 29 0; -#X connect 27 0 30 0; -#X connect 27 0 31 0; -#X connect 28 0 27 0; -#X connect 29 0 15 0; -#X connect 29 0 4 0; -#X connect 29 0 14 0; -#X connect 30 0 6 0; -#X connect 30 0 7 0; -#X connect 30 0 5 0; -#X connect 30 0 8 0; -#X connect 31 0 11 0; -#X connect 31 0 10 0; -#X connect 31 0 9 0; -#X connect 31 0 13 0; -#X connect 31 0 12 0; -#X connect 34 0 27 0; -#X restore 556 -30 pd presets; -#X text 456 52 inlet 1; -#X text 458 71 mode 0: regular function (others used for debugging) -; -#X text 457 83 thresh: threshold for contrast step; -#X text 459 200 pix_avg: number of pixels to average the contour; -#X text 458 234 min_entry_size: minimum entry size to be considered -as a hand; -#X text 458 256 min_perim: minimum perimeter to be considered a hand -; -#X text 459 308 OUTLETS; -#X text 459 374 outlet 2: elements in the smoothed contour; -#X text 460 408 outlet 3: peaks found in the contour; -#X text 460 449 outlet 4: valleys found in the contour; -#X text 460 491 outlet 5: contours found; -#X text 461 542 outlet 6: end of algorithm report; -#X text 457 148 inlet 2: defines the bounds of the anrea of analysis -; -#X text 484 160 bottom \, top \, right \, left; -#X text 457 181 inlet 3: parameters of contour analysis; -#X text 458 212 pix_tip: number of contiguous pixels higher than tip_scalar -to consider something a peak or valley; -#X text 482 118 mode \, thresh \, tip_scalar; -#X text 457 94 tip scalar: scalar of maximum angle to consider something -a peak or valley; -#X text 458 267 pix_samp: period of sampling of the averaged contour -; -#X text 483 281 pix_avg \, pix_tip \, min_entry_size \, min_perim \, -pix_samp; -#X text 460 592 order of outlets: 1 2 5 3 4 6; -#X text 460 340 outlet 1: elements in the raw contour (only in mode -2); -#X text 60 301 pix_mano is an object that tracks light reflecting objects -(eg. hands) over a light absorbing background (eg. black cloth). Light -reflecting objects need to enter the video frame from one of the sides -to be recognized. For example \, a white circle in the center will -not be recognized as there is no entry pount in the borders of the -frame.; -#X text 58 426 Roughly \, the object works by setting a threshold to -discriminate bewteen black and white pixels. shapes formed of white -pixels are analyzed in the order of largest entry section.; -#X text 581 628 support information in www.jaimeoliver.pe; -#X text 59 483 For each object an analysis of its contour is achieved. -(see graph option in outlet two while entering your hand into the frame). -The contours formed by a hand are averaged for smoothing and sampled -\, and then are plotted as x \, y coordinates and variation in angle -with respect to the previous sampled point. Ana analysis of this contour -provides tips (positive peaks) and valleys (negative peaks); -#X text 76 576 This object was programmed as part of the Silent Percussion -Proect \, for use in the MANO Controller. For more infomation: http://www.jaimeoliver.pe -; -#X obj 117 47 pack f f f f; -#X text 695 642 jaime.oliver@gmail.com; -#X text 715 657 joliverl-2010 v0.01; -#X obj 161 136 pix_mano; -#X text 460 326 outlet 0: the analyzed video image; -#X obj 161 176 rectangle 5.33 4; -#X text 60 383 Although this version is fully functional \, there are -still a few bugs to work on and optimizations to be achieved. It is -still in an experimental level; -#X text 476 353 [index \, x coordinate \, y coordinate \, angle]; -#X text 475 387 [index \, x coordinate \, y coordinate \, angle]; -#X text 476 421 [index of contour \, index of tip \, position (x \, -y) \, magnitude \, angle \, position in contour]; -#X text 476 462 [index of contour \, index of tip \, position (x \, -y) \, magnitude \, angle \, position in contour]; -#X text 476 504 [index of contour \, entry_point (x \, y) \, area \, -direction \, center (x \, y) \, perimeter \, entr_size \, bounds: right -(x \, y) \, left (x \, y) \, top (x \, y) \, bottom (x \, y).]; -#X text 477 555 if there were any contours = 1; -#X text 477 565 if there were no contours = 0; -#X connect 1 0 68 0; -#X connect 2 0 65 0; -#X connect 3 0 5 0; -#X connect 4 0 70 0; -#X connect 5 0 65 0; -#X connect 5 1 65 1; -#X connect 6 0 7 0; -#X connect 7 0 65 0; -#X connect 7 1 65 2; -#X connect 8 0 9 0; -#X connect 9 0 65 0; -#X connect 9 1 65 3; -#X connect 10 0 11 0; -#X connect 10 1 11 1; -#X connect 11 0 68 1; -#X connect 12 0 11 0; -#X connect 12 1 11 2; -#X connect 13 0 10 0; -#X connect 14 0 25 0; -#X connect 14 1 25 1; -#X connect 15 0 25 0; -#X connect 15 1 25 2; -#X connect 16 0 11 0; -#X connect 17 0 12 0; -#X connect 18 0 25 0; -#X connect 19 0 14 0; -#X connect 20 0 15 0; -#X connect 21 0 25 0; -#X connect 21 1 25 3; -#X connect 22 0 21 0; -#X connect 23 0 24 0; -#X connect 24 0 25 0; -#X connect 24 1 25 4; -#X connect 25 0 68 3; -#X connect 26 0 27 0; -#X connect 27 0 1 0; -#X connect 36 0 35 0; -#X connect 65 0 68 2; -#X connect 68 0 4 0; -#X connect 68 1 28 0; -#X connect 68 2 29 0; -#X connect 68 2 36 0; -#X connect 68 3 30 0; -#X connect 68 4 31 0; -#X connect 68 5 32 0; -#X connect 68 6 33 0; +#N canvas 326 0 854 742 10;
+#X obj 556 -8 bng 15 250 50 0 refresh_var empty load-presets 17 7 0
+10 -257985 -1 -1;
+#X obj 161 116 pix_grey;
+#X floatatom 117 -50 5 0 0 1 bottom bottom -;
+#X floatatom 152 -33 5 0 0 1 top top -;
+#X obj 161 156 pix_texture;
+#X obj 152 19 t b f;
+#X floatatom 194 -14 5 0 0 1 right right -;
+#X obj 194 19 t b f;
+#X floatatom 235 1 5 0 0 1 left left -;
+#X obj 235 19 t b f;
+#X obj 35 16 t b f;
+#X obj 15 43 pack f f f;
+#X obj 73 16 t b f;
+#X floatatom 35 -17 5 0 0 1 thresh thresh -;
+#X obj 304 19 t b f;
+#X obj 345 19 t b f;
+#X floatatom 15 -33 5 0 0 1 mode mode -;
+#X floatatom 73 -2 5 0 0 1 tip_scalar tip_scalar -;
+#X floatatom 273 -58 5 0 0 1 pix_avg pix_avg -;
+#X floatatom 304 -42 5 0 0 1 pix_tip pix_tip -;
+#X floatatom 345 -27 5 0 0 1 min_entry_size min_entry_size -;
+#X obj 384 20 t b f;
+#X floatatom 384 -12 5 0 0 1 min_perim min_perim -;
+#X floatatom 424 3 5 0 0 1 pix_samp pix_samp -;
+#X obj 424 20 t b f;
+#X obj 273 47 pack f f f f f;
+#X obj 161 76 gemhead 1;
+#X obj 161 96 pix_video;
+#N canvas 0 0 450 300 print 0;
+#X obj 131 36 inlet;
+#X obj 131 57 spigot;
+#X obj 131 78 print;
+#X obj 228 27 loadbang;
+#X msg 228 48 0;
+#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 103 105 print?;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 1 1;
+#X coords 0 -1 1 1 60 23 2 100 100;
+#X restore 32 204 pd print;
+#N canvas 0 0 450 300 print 0;
+#X obj 131 36 inlet;
+#X obj 131 57 spigot;
+#X obj 131 78 print;
+#X obj 228 27 loadbang;
+#X msg 228 48 0;
+#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 103 105 print?;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 1 1;
+#X coords 0 -1 1 1 60 23 2 100 100;
+#X restore 100 204 pd print;
+#N canvas 0 0 450 300 print 0;
+#X obj 131 36 inlet;
+#X obj 131 57 spigot;
+#X obj 131 78 print;
+#X obj 228 27 loadbang;
+#X msg 228 48 0;
+#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 103 105 print?;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 1 1;
+#X coords 0 -1 1 1 60 23 2 100 100;
+#X restore 167 204 pd print;
+#N canvas 0 0 450 300 print 0;
+#X obj 131 36 inlet;
+#X obj 131 57 spigot;
+#X obj 131 78 print;
+#X obj 228 27 loadbang;
+#X msg 228 48 0;
+#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 103 105 print?;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 1 1;
+#X coords 0 -1 1 1 60 23 2 100 100;
+#X restore 235 204 pd print;
+#N canvas 0 0 450 300 print 0;
+#X obj 131 36 inlet;
+#X obj 131 57 spigot;
+#X obj 131 78 print;
+#X obj 228 27 loadbang;
+#X msg 228 48 0;
+#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 103 105 print?;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 1 1;
+#X coords 0 -1 1 1 60 23 2 100 100;
+#X restore 301 204 pd print;
+#N canvas 0 0 450 300 print 0;
+#X obj 131 36 inlet;
+#X obj 131 57 spigot;
+#X obj 131 78 print;
+#X obj 228 27 loadbang;
+#X msg 228 48 0;
+#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 103 105 print?;
+#X connect 0 0 1 0;
+#X connect 1 0 2 0;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 1 1;
+#X coords 0 -1 1 1 60 23 2 100 100;
+#X restore 369 204 pd print;
+#N canvas 716 528 225 177 gemwin 0;
+#X obj 61 138 gemwin;
+#X msg 46 83 create \, 1;
+#X msg 142 99 0 \, destroy;
+#X obj 24 12 loadbang;
+#X obj 24 38 t b b b;
+#X msg 126 65 dimen 320 240;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 4 0;
+#X connect 4 1 1 0;
+#X connect 4 2 5 0;
+#X connect 5 0 0 0;
+#X restore 556 -49 pd gemwin;
+#N canvas 621 151 306 719 graphs-outlet2 0;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array x 150 float 1;
+#A 0 24 293 290 286 281 274 269 264 261 260 258 253 248 246 250 258
+266 274 282 279 286 295 295 187 195 203 211 219 227 235 243 251 259
+265 267 267 268 271 275 277 278 278 277 277 279 283 287 289 292 296
+300 305 309 311 311 311 311 311 311 311 311 311 311 311 311 311 311
+311 311 311 311 311 311 311 311 309 304 296 288 280 273 268 262 256
+248 240 232 224 216 208 200 192 184 176 168 160 152 144 136 128 120
+112 104 96 88 80 72 64 56 48 40 32 24 16 11 9 9 9 9 9 9 9 9 9 9 9 9
+9 9 9 13 169 169 164 162 167 170 166 162 165 169 13 97 105 113 120
+122 118 110 172;
+#X coords 0 320 149 0 300 140 1;
+#X restore -136 -398 graph;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array y 150 float 1;
+#A 0 253 470 467 460 453 448 446 446 448 452 458 462 467 471 472 472
+472 472 472 472 472 470 470 445 444 443 442 441 440 439 438 437 435
+431 425 417 413 415 420 420 414 406 398 390 387 389 397 405 412 420
+426 432 432 427 419 411 403 395 387 379 371 363 355 347 339 331 323
+315 307 299 291 283 275 267 259 253 250 249 249 249 251 253 252 250
+249 249 249 249 249 249 249 249 249 249 249 249 249 249 249 249 249
+249 249 249 249 249 249 249 249 249 249 249 249 250 252 258 266 274
+282 290 298 306 314 322 330 338 346 354 362 370 361 472 471 470 470
+471 471 470 470 471 472 464 461 464 467 469 471 472 472 471;
+#X coords 0 480 149 0 300 140 1;
+#X restore -137 -245 graph;
+#N canvas 0 22 450 300 (subpatch) 0;
+#X array angle 150 float 1;
+#A 0 0 0.588003 -0.785398 -0.266252 0.101103 0.330297 0.239743 0.380506
+0.588003 0.737815 -0.0767719 -0.574305 0.110657 0.321751 1.78947 0.244979
+0 0 0 0 0 0 0 0.124355 0 0 0 0 0 0 0 0 0.120624 0.343024 0.661043 0.321751
+-0.244979 -1.91382 -0.308053 0.896055 1.40565 0.165149 0.124355 -0.124355
+-0.588003 -1.44644 -0.643501 -0.218669 0.159913 0.0587558 0.124355
+0.106736 0.876058 1.19029 0.380506 6.12303e-17 6.12303e-17 6.12303e-17
+6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17
+6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17
+6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17 6.12303e-17 0.321751
+0.708626 0.416065 0.124355 1.22461e-16 0.2783 0.102207 -0.545655 -0.156602
+0.197396 0.124355 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16
+1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16
+1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16
+1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16
+1.22461e-16 1.22461e-16 1.22461e-16 1.22461e-16 0.124355 0.256151 0.868539
+0.321751 -6.12303e-17 -6.12303e-17 -6.12303e-17 -6.12303e-17 -6.12303e-17
+-6.12303e-17 -6.12303e-17 -6.12303e-17 -6.12303e-17 -6.12303e-17 -6.12303e-17
+-6.12303e-17 -6.12303e-17 0 1.40565 1.73594 1.3734 0.197396 2.9442
+0.197396 2.89661 0.244979 2.81984 0.0767719 0 0.432408 0.104877 0 0.080471
+-0.507098 -2.11122 -0.244979 0;
+#X coords 0 3.14 149 -3.14 300 200 1;
+#X restore -137 -90 graph;
+#X obj -131 118 bng 15 250 50 0 cleartables empty empty 17 7 0 10 -257985
+-1 -1;
+#X text -113 117 clear tables;
+#X obj -39 -460 - 480;
+#X obj -39 -441 abs;
+#X obj -137 -460 tabwrite x;
+#X obj -39 -422 tabwrite y;
+#X obj 18 -463 tabwrite angle;
+#X obj -133 -530 unpack f f f f;
+#X obj -133 -506 s o2n;
+#X obj -88 -506 s o2x;
+#X obj -44 -505 s o2y;
+#X obj 1 -505 s o2a;
+#X obj -80 -480 r o2n;
+#X obj -137 -480 r o2x;
+#X obj -39 -480 r o2y;
+#X obj 18 -482 r o2a;
+#X obj 18 -441 r o2n;
+#X obj 99 -482 r o2n;
+#X obj -133 -574 inlet;
+#X connect 5 0 6 0;
+#X connect 6 0 8 0;
+#X connect 10 0 11 0;
+#X connect 10 1 12 0;
+#X connect 10 2 13 0;
+#X connect 10 3 14 0;
+#X connect 15 0 7 1;
+#X connect 16 0 7 0;
+#X connect 17 0 5 0;
+#X connect 18 0 9 0;
+#X connect 19 0 8 1;
+#X connect 20 0 9 1;
+#X connect 21 0 10 0;
+#X restore 100 265 pd graphs-outlet2;
+#N canvas 0 0 450 300 print 0;
+#X obj 131 36 inlet;
+#X obj 131 57 spigot;
+#X obj 228 27 loadbang;
+#X msg 228 48 0;
+#X obj 142 104 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
+1;
+#X text 103 105 graph?;
+#X obj 131 78 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 6 0;
+#X connect 2 0 3 0;
+#X connect 3 0 4 0;
+#X connect 4 0 1 1;
+#X coords 0 -1 1 1 60 23 2 100 100;
+#X restore 100 238 pd print;
+#N canvas 178 290 743 248 presets 0;
+#X text 280 16 head;
+#X text 229 16 bottom;
+#X text 319 16 right;
+#X text 363 16 left;
+#X msg 18 30 1;
+#X msg 283 33 5;
+#X msg 366 33 5;
+#X msg 325 33 315;
+#X msg 240 33 235;
+#X msg 561 22 4;
+#X msg 488 24 20;
+#X msg 524 23 5;
+#X msg 637 21 8;
+#X msg 598 22 10;
+#X msg 129 30 0.4;
+#X msg 71 30 0.74;
+#X obj 18 51 s mode;
+#X obj 71 51 s thresh;
+#X obj 129 51 s tip_scalar;
+#X obj 240 54 s bottom;
+#X obj 325 54 s right;
+#X obj 366 75 s left;
+#X obj 488 45 s pix_avg;
+#X obj 524 66 s pix_tip;
+#X obj 598 43 s min_perim;
+#X obj 637 63 s pix_samp;
+#X obj 283 75 s top;
+#X obj 286 -58 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
+-1 -1;
+#X obj 286 -78 r refresh_var;
+#X obj 64 -15 bang;
+#X obj 286 -20 bang;
+#X obj 550 -20 bang;
+#X obj 561 86 s min_entry_size;
+#X text 20 114 These presets are what I use for the MANO Controller
+at 320x240.;
+#X obj 307 -59 loadbang;
+#X connect 4 0 16 0;
+#X connect 5 0 26 0;
+#X connect 6 0 21 0;
+#X connect 7 0 20 0;
+#X connect 8 0 19 0;
+#X connect 9 0 32 0;
+#X connect 10 0 22 0;
+#X connect 11 0 23 0;
+#X connect 12 0 25 0;
+#X connect 13 0 24 0;
+#X connect 14 0 18 0;
+#X connect 15 0 17 0;
+#X connect 27 0 29 0;
+#X connect 27 0 30 0;
+#X connect 27 0 31 0;
+#X connect 28 0 27 0;
+#X connect 29 0 15 0;
+#X connect 29 0 4 0;
+#X connect 29 0 14 0;
+#X connect 30 0 6 0;
+#X connect 30 0 7 0;
+#X connect 30 0 5 0;
+#X connect 30 0 8 0;
+#X connect 31 0 11 0;
+#X connect 31 0 10 0;
+#X connect 31 0 9 0;
+#X connect 31 0 13 0;
+#X connect 31 0 12 0;
+#X connect 34 0 27 0;
+#X restore 556 -30 pd presets;
+#X text 456 52 inlet 1;
+#X text 458 71 mode 0: regular function (others used for debugging)
+;
+#X text 457 83 thresh: threshold for contrast step;
+#X text 459 200 pix_avg: number of pixels to average the contour;
+#X text 458 234 min_entry_size: minimum entry size to be considered
+as a hand;
+#X text 458 256 min_perim: minimum perimeter to be considered a hand
+;
+#X text 459 308 OUTLETS;
+#X text 459 374 outlet 2: elements in the smoothed contour;
+#X text 460 408 outlet 3: peaks found in the contour;
+#X text 460 449 outlet 4: valleys found in the contour;
+#X text 460 491 outlet 5: contours found;
+#X text 461 542 outlet 6: end of algorithm report;
+#X text 457 148 inlet 2: defines the bounds of the anrea of analysis
+;
+#X text 484 160 bottom \, top \, right \, left;
+#X text 457 181 inlet 3: parameters of contour analysis;
+#X text 458 212 pix_tip: number of contiguous pixels higher than tip_scalar
+to consider something a peak or valley;
+#X text 482 118 mode \, thresh \, tip_scalar;
+#X text 457 94 tip scalar: scalar of maximum angle to consider something
+a peak or valley;
+#X text 458 267 pix_samp: period of sampling of the averaged contour
+;
+#X text 483 281 pix_avg \, pix_tip \, min_entry_size \, min_perim \,
+pix_samp;
+#X text 460 592 order of outlets: 1 2 5 3 4 6;
+#X text 460 340 outlet 1: elements in the raw contour (only in mode
+2);
+#X text 60 301 pix_mano is an object that tracks light reflecting objects
+(eg. hands) over a light absorbing background (eg. black cloth). Light
+reflecting objects need to enter the video frame from one of the sides
+to be recognized. For example \, a white circle in the center will
+not be recognized as there is no entry pount in the borders of the
+frame.;
+#X text 58 426 Roughly \, the object works by setting a threshold to
+discriminate bewteen black and white pixels. shapes formed of white
+pixels are analyzed in the order of largest entry section.;
+#X text 581 628 support information in www.jaimeoliver.pe;
+#X text 59 483 For each object an analysis of its contour is achieved.
+(see graph option in outlet two while entering your hand into the frame).
+The contours formed by a hand are averaged for smoothing and sampled
+\, and then are plotted as x \, y coordinates and variation in angle
+with respect to the previous sampled point. Ana analysis of this contour
+provides tips (positive peaks) and valleys (negative peaks);
+#X text 76 576 This object was programmed as part of the Silent Percussion
+Proect \, for use in the MANO Controller. For more infomation: http://www.jaimeoliver.pe
+;
+#X obj 117 47 pack f f f f;
+#X text 695 642 jaime.oliver@gmail.com;
+#X text 715 657 joliverl-2010 v0.01;
+#X obj 161 136 pix_mano;
+#X text 460 326 outlet 0: the analyzed video image;
+#X obj 161 176 rectangle 5.33 4;
+#X text 60 383 Although this version is fully functional \, there are
+still a few bugs to work on and optimizations to be achieved. It is
+still in an experimental level;
+#X text 476 353 [index \, x coordinate \, y coordinate \, angle];
+#X text 475 387 [index \, x coordinate \, y coordinate \, angle];
+#X text 476 421 [index of contour \, index of tip \, position (x \,
+y) \, magnitude \, angle \, position in contour];
+#X text 476 462 [index of contour \, index of tip \, position (x \,
+y) \, magnitude \, angle \, position in contour];
+#X text 476 504 [index of contour \, entry_point (x \, y) \, area \,
+direction \, center (x \, y) \, perimeter \, entr_size \, bounds: right
+(x \, y) \, left (x \, y) \, top (x \, y) \, bottom (x \, y).];
+#X text 477 555 if there were any contours = 1;
+#X text 477 565 if there were no contours = 0;
+#X connect 1 0 68 0;
+#X connect 2 0 65 0;
+#X connect 3 0 5 0;
+#X connect 4 0 70 0;
+#X connect 5 0 65 0;
+#X connect 5 1 65 1;
+#X connect 6 0 7 0;
+#X connect 7 0 65 0;
+#X connect 7 1 65 2;
+#X connect 8 0 9 0;
+#X connect 9 0 65 0;
+#X connect 9 1 65 3;
+#X connect 10 0 11 0;
+#X connect 10 1 11 1;
+#X connect 11 0 68 1;
+#X connect 12 0 11 0;
+#X connect 12 1 11 2;
+#X connect 13 0 10 0;
+#X connect 14 0 25 0;
+#X connect 14 1 25 1;
+#X connect 15 0 25 0;
+#X connect 15 1 25 2;
+#X connect 16 0 11 0;
+#X connect 17 0 12 0;
+#X connect 18 0 25 0;
+#X connect 19 0 14 0;
+#X connect 20 0 15 0;
+#X connect 21 0 25 0;
+#X connect 21 1 25 3;
+#X connect 22 0 21 0;
+#X connect 23 0 24 0;
+#X connect 24 0 25 0;
+#X connect 24 1 25 4;
+#X connect 25 0 68 3;
+#X connect 26 0 27 0;
+#X connect 27 0 1 0;
+#X connect 36 0 35 0;
+#X connect 65 0 68 2;
+#X connect 68 0 4 0;
+#X connect 68 1 28 0;
+#X connect 68 2 29 0;
+#X connect 68 2 36 0;
+#X connect 68 3 30 0;
+#X connect 68 4 31 0;
+#X connect 68 5 32 0;
+#X connect 68 6 33 0;
diff --git a/packages/noncvs/windows/extra/pix_mano/pix_mano.dll b/packages/noncvs/windows/extra/pix_mano/pix_mano.dll Binary files differindex 3f70850d..f9c15a10 100644 --- a/packages/noncvs/windows/extra/pix_mano/pix_mano.dll +++ b/packages/noncvs/windows/extra/pix_mano/pix_mano.dll |