alright - so this looks like a bug with no way around it?
my problem is, that i want to use pix_multiblob to track 3 black
stones on a white table, but pix_multiblob recognizes blobs only it
they are brighter than their ambiance.
is there anyone who has ideas how to work around this problem?
also i'm not really sure about the way the list works that pix
multiblob outputs: am i right assuming that i have to add + 10 for
every additional blob in order to get their values? so $6 is minX
for the first blob, $16 minXfor the second blob... ?
thank you for your help!
emanuel
On 25 Sep 2007, at 11:28, IOhannes m zmoelnig wrote:
|||__||| wrote:
ah - misunderstanding: i'm not trying to flip the image, i want to
turn white pixels black and black pixels white.no misunderstanding.
but the problem might appear not only with [pix_invert] but also
with other pix-objects...mfga.dr IOhannes
|||__||| wrote:
also i'm not really sure about the way the list works that pix
multiblob outputs: am i right assuming that i have to add + 10 for
every additional blob in order to get their values? so $6 is minX
for the first blob, $16 minXfor the second blob... ?
for now, the [pix_multiblob] outputs a "matrix" (as used by the iemmatrix objects). the format is "matrix <rows> <columns> <el_1_1> <el_1_2> ... <el_1_<columns>> <el_2_1> ... ... <el_<rows>_<columns>>"
so if you [list split] the meta information "matrix <rows> <columns>" then your assumption is somewhat correct: the #columns is 8(!)
mfga.sdr IOhannes
IOhannes m zmoelnig wrote:
|||__||| wrote:
also i'm not really sure about the way the list works that pix
multiblob outputs: am i right assuming that i have to add + 10 for
every additional blob in order to get their values? so $6 is minX
for the first blob, $16 minXfor the second blob... ?for now, the [pix_multiblob] outputs a "matrix" (as used by the iemmatrix objects).
this means that it is probably the best idea to use the "iemmatrix" library to extract the data from the list.
it also means that in future version there will probably be an alternative output format (in order to not depend on iemmatrix) (this will be optional to not break older patches)
fma.sdr IOhannes
hi,
I quickly integrated [mtx] object in the help patch to have separates values for each blob ... if it can help works on linux Pd-extended rc5 pix_invert works fine for me : maybe [pix_rgba] after your [pix_video] ?
a++ benjamin
IOhannes m zmoelnig a écrit :
|||__||| wrote:
also i'm not really sure about the way the list works that pix
multiblob outputs: am i right assuming that i have to add + 10 for
every additional blob in order to get their values? so $6 is minX
for the first blob, $16 minXfor the second blob... ?for now, the [pix_multiblob] outputs a "matrix" (as used by the iemmatrix objects). the format is "matrix <rows> <columns> <el_1_1> <el_1_2> ... <el_1_<columns>> <el_2_1> ... ... <el_<rows>_<columns>>"
so if you [list split] the meta information "matrix <rows> <columns>" then your assumption is somewhat correct: the #columns is 8(!)
mfga.sdr IOhannes
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
#N canvas 509 42 863 826 10; #X obj 9 265 cnv 15 430 145 empty empty empty 20 12 0 14 -233017 -66577 0; #X text 40 267 Inlets:; #X text 39 352 Outlets:; #X obj 9 227 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577 0; #X text 18 226 Arguments:; #X obj 8 56 cnv 15 430 165 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 449 37 cnv 15 200 380 empty empty empty 20 12 0 14 -228992 -66577 0; #X obj 451 684 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577 0; #N canvas 0 0 450 300 gemwin 0; #X obj 132 136 gemwin; #X obj 64 202 outlet; #X obj 67 10 inlet; #X msg 64 183 set destroy; #X msg 132 112 create , 1; #X msg 216 117 destroy; #X msg 190 58 set create; #X obj 67 41 route create; #X obj 219 6 inlet; #X connect 2 0 7 0; #X connect 3 0 1 0; #X connect 4 0 0 0; #X connect 5 0 0 0; #X connect 6 0 1 0; #X connect 7 0 3 0; #X connect 7 0 4 0; #X connect 7 1 6 0; #X connect 7 1 5 0; #X connect 8 0 0 0; #X restore 456 723 pd gemwin; #X msg 456 704 destroy; #X text 452 683 Create window:; #X obj 451 133 cnv 15 185 120 empty empty empty 20 12 0 14 -24198 -66577 0; #X obj 451 43 gemhead; #X text 17 366 Outlet 1: gemlist; #X text 24 281 Inlet 1: gemlist; #X obj 453 605 pix_texture; #X floatatom 491 235 3 0 100 2 threshold - -; #X obj 491 252 / 100; #X text 71 31 Class: pix object (analysis); #X msg 491 273 treshold $1; #X floatatom 581 235 3 0 100 2 blobsize - -; #X obj 581 252 / 100; #X msg 581 273 blobSize $1; #X text 24 296 Inlet 1: treshold <float>: minimum luminance of a pixel to be considered part of a blob. (default=0.04); #X text 24 325 Inlet 1: blobSize <float>: minimum relative size of a blob. (default=0.1); #X text 50 12 Synopsis: [pix_multiblob]; #X text 29 57 Description: blob detector (for multiple blobs); #X text 17 73 [pix_multiblob] is able to detect multiple blobs within an image.; #X text 17 103 a "blob" is a number of adjacent(!) pixels with a luminance that is bigger than the value defined by "treshold". you can set the minimum size of a blob that is needed to be detected.; #X text 17 156 the output is a matrix following the conventions of the mtx-objects from zexy/iemmatrix. each row describes one detected blob as follows: centerX(weighted) , centerY(weighted) , size(weighted) , minX , minY , maxX , maxY , size; #X text 64 237 int: max number N of blobs to detect; #X text 17 381 Outlet 2: (k , 8) matrix: describing k detected blobs (with 0<=k<N); #X obj 604 114 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; #X obj 453 325 pix_multiblob 6; #X obj 451 111 pix_video; #X msg 683 93 driver 0; #X obj 453 660 rectangle 5.33 4; #X msg 683 69 device 1; #X obj 451 146 pix_rgba; #X floatatom 580 465 5 0 0 1 x - -; #X floatatom 581 481 5 0 0 1 y - -; #X floatatom 581 497 5 0 0 1 size - -; #X floatatom 582 513 5 0 0 1 minX - -; #X floatatom 582 529 5 0 0 1 minY - -; #X floatatom 583 545 5 0 0 1 maxX - -; #X floatatom 583 561 5 0 0 1 maxY - -; #X floatatom 584 577 5 0 0 1 area - -; #N canvas 183 567 687 354 showblob 0; #X obj 67 86 inlet blobinformation; #X obj 67 138 unpack 0 0 0 0 0 0 0 0; #X obj 67 167 outlet weightedX; #X obj 88 187 outlet weightedY; #X obj 109 207 outlet weightedSize; #X obj 156 236 outlet minX; #X obj 177 256 outlet minY; #X obj 243 236 outlet maxX; #X obj 260 256 outlet maxY; #X obj 348 238 outlet size; #X text 60 45 this extracts information of the 1st detected blob; #N canvas 517 405 450 300 rectangle 0; #X obj 68 75 inlet; #X obj 215 -1 inlet; #X obj 68 269 rectangle; #X obj 68 234 translateXYZ; #X obj 215 69 unpack 0 0 0 0; #X obj 215 94 +; #X obj 254 95 +; #X text 248 125 0..2; #X text 250 145 -1..+1; #X obj 340 148 -; #X obj 377 149 -; #X obj 193 124 - 1; #X obj 222 123 - 1; #X obj 222 146 * 4; #X obj 377 180 * -4; #X obj 155 151 * 5.334; #X obj 320 179 * -5.334; #X msg 184 263 draw line; #X obj 245 246 loadbang; #X connect 0 0 3 0; #X connect 1 0 4 0; #X connect 3 0 2 0; #X connect 4 0 5 0; #X connect 4 0 9 0; #X connect 4 1 5 1; #X connect 4 1 9 1; #X connect 4 2 6 0; #X connect 4 2 10 0; #X connect 4 3 6 1; #X connect 4 3 10 1; #X connect 5 0 11 0; #X connect 6 0 12 0; #X connect 9 0 16 0; #X connect 10 0 14 0; #X connect 11 0 15 0; #X connect 12 0 13 0; #X connect 13 0 3 2; #X connect 14 0 2 2; #X connect 15 0 3 1; #X connect 16 0 2 1; #X connect 17 0 2 0; #X connect 18 0 17 0; #X restore 346 188 pd rectangle; #X obj 346 117 color 1 1 1 0.5; #X obj 346 96 gemhead 70; #X obj 346 138 alpha; #X msg 425 162 $5 $7 $6 $8; #X msg 66 114 $2 $3 $4 $5 $6 $7 $8 $9; #X connect 0 0 16 0; #X connect 0 0 15 0; #X connect 1 0 2 0; #X connect 1 1 3 0; #X connect 1 2 4 0; #X connect 1 3 5 0; #X connect 1 4 6 0; #X connect 1 5 7 0; #X connect 1 6 8 0; #X connect 1 7 9 0; #X connect 12 0 14 0; #X connect 13 0 12 0; #X connect 14 0 11 0; #X connect 15 0 11 1; #X connect 16 0 1 0; #X restore 558 439 pd showblob 2; #X obj 541 347 mtx; #X obj 541 368 route matrix; #X obj 758 653 print mtx2; #X obj 541 392 route 1 2 3 4 5 6; #X floatatom 667 466 5 0 0 1 x - -; #X floatatom 668 482 5 0 0 1 y - -; #X floatatom 668 498 5 0 0 1 size - -; #X floatatom 669 514 5 0 0 1 minX - -; #X floatatom 669 530 5 0 0 1 minY - -; #X floatatom 670 546 5 0 0 1 maxX - -; #X floatatom 670 562 5 0 0 1 maxY - -; #X floatatom 671 578 5 0 0 1 area - -; #X floatatom 754 467 5 0 0 1 x - -; #X floatatom 755 483 5 0 0 1 y - -; #X floatatom 755 499 5 0 0 1 size - -; #X floatatom 756 515 5 0 0 1 minX - -; #X floatatom 756 531 5 0 0 1 minY - -; #X floatatom 757 547 5 0 0 1 maxX - -; #X floatatom 757 563 5 0 0 1 maxY - -; #X floatatom 758 579 5 0 0 1 area - -; #X floatatom 494 466 5 0 0 1 x - -; #X floatatom 495 482 5 0 0 1 y - -; #X floatatom 495 498 5 0 0 1 size - -; #X floatatom 496 514 5 0 0 1 minX - -; #X floatatom 496 530 5 0 0 1 minY - -; #X floatatom 497 546 5 0 0 1 maxX - -; #X floatatom 497 562 5 0 0 1 maxY - -; #X floatatom 498 578 5 0 0 1 area - -; #N canvas 183 567 687 354 showblob 0; #X obj 67 86 inlet blobinformation; #X obj 67 138 unpack 0 0 0 0 0 0 0 0; #X obj 67 167 outlet weightedX; #X obj 88 187 outlet weightedY; #X obj 109 207 outlet weightedSize; #X obj 156 236 outlet minX; #X obj 177 256 outlet minY; #X obj 243 236 outlet maxX; #X obj 260 256 outlet maxY; #X obj 348 238 outlet size; #X text 60 45 this extracts information of the 1st detected blob; #N canvas 517 405 450 300 rectangle 0; #X obj 68 75 inlet; #X obj 215 -1 inlet; #X obj 68 269 rectangle; #X obj 68 234 translateXYZ; #X obj 215 69 unpack 0 0 0 0; #X obj 215 94 +; #X obj 254 95 +; #X text 248 125 0..2; #X text 250 145 -1..+1; #X obj 340 148 -; #X obj 377 149 -; #X obj 193 124 - 1; #X obj 222 123 - 1; #X obj 222 146 * 4; #X obj 377 180 * -4; #X obj 155 151 * 5.334; #X obj 320 179 * -5.334; #X msg 184 263 draw line; #X obj 245 246 loadbang; #X connect 0 0 3 0; #X connect 1 0 4 0; #X connect 3 0 2 0; #X connect 4 0 5 0; #X connect 4 0 9 0; #X connect 4 1 5 1; #X connect 4 1 9 1; #X connect 4 2 6 0; #X connect 4 2 10 0; #X connect 4 3 6 1; #X connect 4 3 10 1; #X connect 5 0 11 0; #X connect 6 0 12 0; #X connect 9 0 16 0; #X connect 10 0 14 0; #X connect 11 0 15 0; #X connect 12 0 13 0; #X connect 13 0 3 2; #X connect 14 0 2 2; #X connect 15 0 3 1; #X connect 16 0 2 1; #X connect 17 0 2 0; #X connect 18 0 17 0; #X restore 346 188 pd rectangle; #X obj 346 117 color 1 1 1 0.5; #X obj 346 96 gemhead 70; #X obj 346 138 alpha; #X msg 425 162 $5 $7 $6 $8; #X msg 66 114 $2 $3 $4 $5 $6 $7 $8 $9; #X connect 0 0 16 0; #X connect 0 0 15 0; #X connect 1 0 2 0; #X connect 1 1 3 0; #X connect 1 2 4 0; #X connect 1 3 5 0; #X connect 1 4 6 0; #X connect 1 5 7 0; #X connect 1 6 8 0; #X connect 1 7 9 0; #X connect 12 0 14 0; #X connect 13 0 12 0; #X connect 14 0 11 0; #X connect 15 0 11 1; #X connect 16 0 1 0; #X restore 472 440 pd showblob 1; #N canvas 183 567 687 354 showblob 0; #X obj 67 86 inlet blobinformation; #X obj 67 138 unpack 0 0 0 0 0 0 0 0; #X obj 67 167 outlet weightedX; #X obj 88 187 outlet weightedY; #X obj 109 207 outlet weightedSize; #X obj 156 236 outlet minX; #X obj 177 256 outlet minY; #X obj 243 236 outlet maxX; #X obj 260 256 outlet maxY; #X obj 348 238 outlet size; #X text 60 45 this extracts information of the 1st detected blob; #N canvas 517 405 450 300 rectangle 0; #X obj 68 75 inlet; #X obj 215 -1 inlet; #X obj 68 269 rectangle; #X obj 68 234 translateXYZ; #X obj 215 69 unpack 0 0 0 0; #X obj 215 94 +; #X obj 254 95 +; #X text 248 125 0..2; #X text 250 145 -1..+1; #X obj 340 148 -; #X obj 377 149 -; #X obj 193 124 - 1; #X obj 222 123 - 1; #X obj 222 146 * 4; #X obj 377 180 * -4; #X obj 155 151 * 5.334; #X obj 320 179 * -5.334; #X msg 184 263 draw line; #X obj 245 246 loadbang; #X connect 0 0 3 0; #X connect 1 0 4 0; #X connect 3 0 2 0; #X connect 4 0 5 0; #X connect 4 0 9 0; #X connect 4 1 5 1; #X connect 4 1 9 1; #X connect 4 2 6 0; #X connect 4 2 10 0; #X connect 4 3 6 1; #X connect 4 3 10 1; #X connect 5 0 11 0; #X connect 6 0 12 0; #X connect 9 0 16 0; #X connect 10 0 14 0; #X connect 11 0 15 0; #X connect 12 0 13 0; #X connect 13 0 3 2; #X connect 14 0 2 2; #X connect 15 0 3 1; #X connect 16 0 2 1; #X connect 17 0 2 0; #X connect 18 0 17 0; #X restore 346 188 pd rectangle; #X obj 346 96 gemhead 70; #X obj 346 138 alpha; #X msg 425 162 $5 $7 $6 $8; #X msg 66 114 $2 $3 $4 $5 $6 $7 $8 $9; #X obj 346 117 color 0 1 0 0.5; #X connect 0 0 15 0; #X connect 0 0 14 0; #X connect 1 0 2 0; #X connect 1 1 3 0; #X connect 1 2 4 0; #X connect 1 3 5 0; #X connect 1 4 6 0; #X connect 1 5 7 0; #X connect 1 6 8 0; #X connect 1 7 9 0; #X connect 12 0 16 0; #X connect 13 0 11 0; #X connect 14 0 11 1; #X connect 15 0 1 0; #X connect 16 0 13 0; #X restore 645 440 pd showblob 3; #N canvas 183 567 687 354 showblob 0; #X obj 67 86 inlet blobinformation; #X obj 67 138 unpack 0 0 0 0 0 0 0 0; #X obj 67 167 outlet weightedX; #X obj 88 187 outlet weightedY; #X obj 109 207 outlet weightedSize; #X obj 156 236 outlet minX; #X obj 177 256 outlet minY; #X obj 243 236 outlet maxX; #X obj 260 256 outlet maxY; #X obj 348 238 outlet size; #X text 60 45 this extracts information of the 1st detected blob; #N canvas 517 405 450 300 rectangle 0; #X obj 68 75 inlet; #X obj 215 -1 inlet; #X obj 68 269 rectangle; #X obj 68 234 translateXYZ; #X obj 215 69 unpack 0 0 0 0; #X obj 215 94 +; #X obj 254 95 +; #X text 248 125 0..2; #X text 250 145 -1..+1; #X obj 340 148 -; #X obj 377 149 -; #X obj 193 124 - 1; #X obj 222 123 - 1; #X obj 222 146 * 4; #X obj 377 180 * -4; #X obj 155 151 * 5.334; #X obj 320 179 * -5.334; #X msg 184 263 draw line; #X obj 245 246 loadbang; #X connect 0 0 3 0; #X connect 1 0 4 0; #X connect 3 0 2 0; #X connect 4 0 5 0; #X connect 4 0 9 0; #X connect 4 1 5 1; #X connect 4 1 9 1; #X connect 4 2 6 0; #X connect 4 2 10 0; #X connect 4 3 6 1; #X connect 4 3 10 1; #X connect 5 0 11 0; #X connect 6 0 12 0; #X connect 9 0 16 0; #X connect 10 0 14 0; #X connect 11 0 15 0; #X connect 12 0 13 0; #X connect 13 0 3 2; #X connect 14 0 2 2; #X connect 15 0 3 1; #X connect 16 0 2 1; #X connect 17 0 2 0; #X connect 18 0 17 0; #X restore 346 188 pd rectangle; #X obj 346 96 gemhead 70; #X obj 346 138 alpha; #X msg 425 162 $5 $7 $6 $8; #X msg 66 114 $2 $3 $4 $5 $6 $7 $8 $9; #X obj 346 117 color 0 0 1 0.5; #X connect 0 0 15 0; #X connect 0 0 14 0; #X connect 1 0 2 0; #X connect 1 1 3 0; #X connect 1 2 4 0; #X connect 1 3 5 0; #X connect 1 4 6 0; #X connect 1 5 7 0; #X connect 1 6 8 0; #X connect 1 7 9 0; #X connect 12 0 16 0; #X connect 13 0 11 0; #X connect 14 0 11 1; #X connect 15 0 1 0; #X connect 16 0 13 0; #X restore 732 441 pd showblob 4; #X floatatom 696 293 5 0 0 1 x - -; #X floatatom 697 309 5 0 0 1 y - -; #X floatatom 697 325 5 0 0 1 size - -; #X floatatom 698 341 5 0 0 1 minX - -; #X floatatom 698 357 5 0 0 1 minY - -; #X floatatom 699 373 5 0 0 1 maxX - -; #X floatatom 699 389 5 0 0 1 maxY - -; #X floatatom 700 405 5 0 0 1 area - -; #X floatatom 783 294 5 0 0 1 x - -; #X floatatom 784 310 5 0 0 1 y - -; #X floatatom 784 326 5 0 0 1 size - -; #X floatatom 785 342 5 0 0 1 minX - -; #X floatatom 785 358 5 0 0 1 minY - -; #X floatatom 786 374 5 0 0 1 maxX - -; #X floatatom 786 390 5 0 0 1 maxY - -; #X floatatom 787 406 5 0 0 1 area - -; #N canvas 97 607 687 354 showblob 0; #X obj 67 86 inlet blobinformation; #X obj 67 138 unpack 0 0 0 0 0 0 0 0; #X obj 67 167 outlet weightedX; #X obj 88 187 outlet weightedY; #X obj 109 207 outlet weightedSize; #X obj 156 236 outlet minX; #X obj 177 256 outlet minY; #X obj 243 236 outlet maxX; #X obj 260 256 outlet maxY; #X obj 348 238 outlet size; #X text 60 45 this extracts information of the 1st detected blob; #N canvas 517 405 450 300 rectangle 0; #X obj 68 75 inlet; #X obj 215 -1 inlet; #X obj 68 269 rectangle; #X obj 68 234 translateXYZ; #X obj 215 69 unpack 0 0 0 0; #X obj 215 94 +; #X obj 254 95 +; #X text 248 125 0..2; #X text 250 145 -1..+1; #X obj 340 148 -; #X obj 377 149 -; #X obj 193 124 - 1; #X obj 222 123 - 1; #X obj 222 146 * 4; #X obj 377 180 * -4; #X obj 155 151 * 5.334; #X obj 320 179 * -5.334; #X msg 184 263 draw line; #X obj 245 246 loadbang; #X connect 0 0 3 0; #X connect 1 0 4 0; #X connect 3 0 2 0; #X connect 4 0 5 0; #X connect 4 0 9 0; #X connect 4 1 5 1; #X connect 4 1 9 1; #X connect 4 2 6 0; #X connect 4 2 10 0; #X connect 4 3 6 1; #X connect 4 3 10 1; #X connect 5 0 11 0; #X connect 6 0 12 0; #X connect 9 0 16 0; #X connect 10 0 14 0; #X connect 11 0 15 0; #X connect 12 0 13 0; #X connect 13 0 3 2; #X connect 14 0 2 2; #X connect 15 0 3 1; #X connect 16 0 2 1; #X connect 17 0 2 0; #X connect 18 0 17 0; #X restore 346 188 pd rectangle; #X obj 346 96 gemhead 70; #X obj 346 138 alpha; #X msg 425 162 $5 $7 $6 $8; #X msg 66 114 $2 $3 $4 $5 $6 $7 $8 $9; #X obj 346 117 color 0 1 1 0.5; #X connect 0 0 15 0; #X connect 0 0 14 0; #X connect 1 0 2 0; #X connect 1 1 3 0; #X connect 1 2 4 0; #X connect 1 3 5 0; #X connect 1 4 6 0; #X connect 1 5 7 0; #X connect 1 6 8 0; #X connect 1 7 9 0; #X connect 12 0 16 0; #X connect 13 0 11 0; #X connect 14 0 11 1; #X connect 15 0 1 0; #X connect 16 0 13 0; #X restore 674 267 pd showblob 5; #N canvas 183 567 687 354 showblob 0; #X obj 67 86 inlet blobinformation; #X obj 67 138 unpack 0 0 0 0 0 0 0 0; #X obj 67 167 outlet weightedX; #X obj 88 187 outlet weightedY; #X obj 109 207 outlet weightedSize; #X obj 156 236 outlet minX; #X obj 177 256 outlet minY; #X obj 243 236 outlet maxX; #X obj 260 256 outlet maxY; #X obj 348 238 outlet size; #X text 60 45 this extracts information of the 1st detected blob; #N canvas 517 405 450 300 rectangle 0; #X obj 68 75 inlet; #X obj 215 -1 inlet; #X obj 68 269 rectangle; #X obj 68 234 translateXYZ; #X obj 215 69 unpack 0 0 0 0; #X obj 215 94 +; #X obj 254 95 +; #X text 248 125 0..2; #X text 250 145 -1..+1; #X obj 340 148 -; #X obj 377 149 -; #X obj 193 124 - 1; #X obj 222 123 - 1; #X obj 222 146 * 4; #X obj 377 180 * -4; #X obj 155 151 * 5.334; #X obj 320 179 * -5.334; #X msg 184 263 draw line; #X obj 245 246 loadbang; #X connect 0 0 3 0; #X connect 1 0 4 0; #X connect 3 0 2 0; #X connect 4 0 5 0; #X connect 4 0 9 0; #X connect 4 1 5 1; #X connect 4 1 9 1; #X connect 4 2 6 0; #X connect 4 2 10 0; #X connect 4 3 6 1; #X connect 4 3 10 1; #X connect 5 0 11 0; #X connect 6 0 12 0; #X connect 9 0 16 0; #X connect 10 0 14 0; #X connect 11 0 15 0; #X connect 12 0 13 0; #X connect 13 0 3 2; #X connect 14 0 2 2; #X connect 15 0 3 1; #X connect 16 0 2 1; #X connect 17 0 2 0; #X connect 18 0 17 0; #X restore 346 188 pd rectangle; #X obj 346 96 gemhead 70; #X obj 346 138 alpha; #X msg 425 162 $5 $7 $6 $8; #X msg 66 114 $2 $3 $4 $5 $6 $7 $8 $9; #X obj 346 117 color 1 0.5 0 0.5; #X connect 0 0 15 0; #X connect 0 0 14 0; #X connect 1 0 2 0; #X connect 1 1 3 0; #X connect 1 2 4 0; #X connect 1 3 5 0; #X connect 1 4 6 0; #X connect 1 5 7 0; #X connect 1 6 8 0; #X connect 1 7 9 0; #X connect 12 0 16 0; #X connect 13 0 11 0; #X connect 14 0 11 1; #X connect 15 0 1 0; #X connect 16 0 13 0; #X restore 761 268 pd showblob 6; #X obj 451 185 pix_movement 0.17; #X obj 453 530 alpha; #X obj 440 501 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 1; #X msg 579 198 45; #X msg 641 200 3; #X obj 760 113 vsl 20 60 0 1 0 0 empty empty mov 0 -8 0 10 -261682 -1 -1 0 1; #X floatatom 548 167 5 0 0 0 - - -; #X msg 480 69 open device /dev/videoO; #X msg 518 701 dimen 640 480; #X connect 8 0 9 0; #X connect 9 0 8 0; #X connect 12 0 34 0; #X connect 15 0 36 0; #X connect 16 0 17 0; #X connect 17 0 19 0; #X connect 19 0 33 0; #X connect 20 0 21 0; #X connect 21 0 22 0; #X connect 22 0 33 0; #X connect 33 0 98 0; #X connect 33 1 48 0; #X connect 34 0 38 0; #X connect 35 0 34 0; #X connect 37 0 34 0; #X connect 38 0 97 0; #X connect 47 0 39 0; #X connect 47 1 40 0; #X connect 47 2 41 0; #X connect 47 3 42 0; #X connect 47 4 43 0; #X connect 47 5 44 0; #X connect 47 6 45 0; #X connect 47 7 46 0; #X connect 48 0 49 0; #X connect 49 0 51 0; #X connect 51 0 76 0; #X connect 51 1 47 0; #X connect 51 2 77 0; #X connect 51 3 78 0; #X connect 51 4 95 0; #X connect 51 5 96 0; #X connect 76 0 68 0; #X connect 76 1 69 0; #X connect 76 2 70 0; #X connect 76 3 71 0; #X connect 76 4 72 0; #X connect 76 5 73 0; #X connect 76 6 74 0; #X connect 76 7 75 0; #X connect 77 0 52 0; #X connect 77 1 53 0; #X connect 77 2 54 0; #X connect 77 3 55 0; #X connect 77 4 56 0; #X connect 77 5 57 0; #X connect 77 6 58 0; #X connect 77 7 59 0; #X connect 78 0 60 0; #X connect 78 1 61 0; #X connect 78 2 62 0; #X connect 78 3 63 0; #X connect 78 4 64 0; #X connect 78 5 65 0; #X connect 78 6 66 0; #X connect 78 7 67 0; #X connect 95 0 79 0; #X connect 95 1 80 0; #X connect 95 2 81 0; #X connect 95 3 82 0; #X connect 95 4 83 0; #X connect 95 5 84 0; #X connect 95 6 85 0; #X connect 95 7 86 0; #X connect 96 0 87 0; #X connect 96 1 88 0; #X connect 96 2 89 0; #X connect 96 3 90 0; #X connect 96 4 91 0; #X connect 96 5 92 0; #X connect 96 6 93 0; #X connect 96 7 94 0; #X connect 97 0 33 0; #X connect 98 0 15 0; #X connect 99 0 98 0; #X connect 100 0 16 0; #X connect 101 0 20 0; #X connect 102 0 103 0; #X connect 103 0 97 1; #X connect 104 0 34 0; #X connect 105 0 8 1;
thank you - both worked great!
the extended help patch for pix_multiblob was great, without that i
would have never figured out how it actually works.
pix_invert works after pix_rgba, i use pix_grey afterwards.
thank you again,
emanuel
On 25 Sep 2007, at 15:12, >------------------------------ wrote:
hi,
I quickly integrated [mtx] object in the help patch to have
separates values for each blob ... if it can help works on linux Pd-extended rc5 pix_invert works fine for me : maybe [pix_rgba] after your
[pix_video] ?a++ benjamin
IOhannes m zmoelnig a écrit :
|||__||| wrote:
also i'm not really sure about the way the list works that pix
multiblob outputs: am i right assuming that i have to add + 10
for every additional blob in order to get their values? so $6
is minX for the first blob, $16 minXfor the second blob... ?for now, the [pix_multiblob] outputs a "matrix" (as used by the iemmatrix objects). the format is "matrix <rows> <columns> <el_1_1> <el_1_2> ... <el_1_<columns>>
<el_2_1> ... ... <el_<rows>_<columns>>"
so if you [list split] the meta information "matrix <rows> <columns>" then your assumption is somewhat correct: the #columns is 8(!)
mfga.sdr IOhannes
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/ listinfo/pd-list
#N canvas 509 42 863 826 10; #X obj 9 265 cnv 15 430 145 empty empty empty 20 12 0 14 -233017
-66577 0; #X text 40 267 Inlets:; #X text 39 352 Outlets:; #X obj 9 227 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577 0; #X text 18 226 Arguments:; #X obj 8 56 cnv 15 430 165 empty empty empty 20 12 0 14 -233017 -66577 0; #X obj 449 37 cnv 15 200 380 empty empty empty 20 12 0 14 -228992
-66577 0; #X obj 451 684 cnv 15 100 60 empty empty empty 20 12 0 14 -195568
-66577 0; #N canvas 0 0 450 300 gemwin 0; #X obj 132 136 gemwin; #X obj 64 202 outlet; #X obj 67 10 inlet; #X msg 64 183 set destroy; #X msg 132 112 create , 1; #X msg 216 117 destroy; #X msg 190 58 set create; #X obj 67 41 route create; #X obj 219 6 inlet; #X connect 2 0 7 0; #X connect 3 0 1 0; #X connect 4 0 0 0; #X connect 5 0 0 0; #X connect 6 0 1 0; #X connect 7 0 3 0; #X connect 7 0 4 0; #X connect 7 1 6 0; #X connect 7 1 5 0; #X connect 8 0 0 0; #X restore 456 723 pd gemwin; #X msg 456 704 destroy; #X text 452 683 Create window:; #X obj 451 133 cnv 15 185 120 empty empty empty 20 12 0 14 -24198
-66577 0; #X obj 451 43 gemhead; #X text 17 366 Outlet 1: gemlist; #X text 24 281 Inlet 1: gemlist; #X obj 453 605 pix_texture; #X floatatom 491 235 3 0 100 2 threshold - -; #X obj 491 252 / 100; #X text 71 31 Class: pix object (analysis); #X msg 491 273 treshold $1; #X floatatom 581 235 3 0 100 2 blobsize - -; #X obj 581 252 / 100; #X msg 581 273 blobSize $1; #X text 24 296 Inlet 1: treshold <float>: minimum luminance of a pixel to be considered part of a blob. (default=0.04); #X text 24 325 Inlet 1: blobSize <float>: minimum relative size of a blob. (default=0.1); #X text 50 12 Synopsis: [pix_multiblob]; #X text 29 57 Description: blob detector (for multiple blobs); #X text 17 73 [pix_multiblob] is able to detect multiple blobs within an image.; #X text 17 103 a "blob" is a number of adjacent(!) pixels with a
luminance that is bigger than the value defined by "treshold". you can set the minimum size of a blob that is needed to be detected.; #X text 17 156 the output is a matrix following the conventions of the mtx-objects from zexy/iemmatrix. each row describes one detected blob as follows: centerX(weighted) , centerY(weighted) , size (weighted) , minX , minY , maxX , maxY , size; #X text 64 237 int: max number N of blobs to detect; #X text 17 381 Outlet 2: (k , 8) matrix: describing k detected blobs (with 0<=k<N); #X obj 604 114 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1; #X obj 453 325 pix_multiblob 6; #X obj 451 111 pix_video; #X msg 683 93 driver 0; #X obj 453 660 rectangle 5.33 4; #X msg 683 69 device 1; #X obj 451 146 pix_rgba; #X floatatom 580 465 5 0 0 1 x - -; #X floatatom 581 481 5 0 0 1 y - -; #X floatatom 581 497 5 0 0 1 size - -; #X floatatom 582 513 5 0 0 1 minX - -; #X floatatom 582 529 5 0 0 1 minY - -; #X floatatom 583 545 5 0 0 1 maxX - -; #X floatatom 583 561 5 0 0 1 maxY - -; #X floatatom 584 577 5 0 0 1 area - -; #N canvas 183 567 687 354 showblob 0; #X obj 67 86 inlet blobinformation; #X obj 67 138 unpack 0 0 0 0 0 0 0 0; #X obj 67 167 outlet weightedX; #X obj 88 187 outlet weightedY; #X obj 109 207 outlet weightedSize; #X obj 156 236 outlet minX; #X obj 177 256 outlet minY; #X obj 243 236 outlet maxX; #X obj 260 256 outlet maxY; #X obj 348 238 outlet size; #X text 60 45 this extracts information of the 1st detected blob; #N canvas 517 405 450 300 rectangle 0; #X obj 68 75 inlet; #X obj 215 -1 inlet; #X obj 68 269 rectangle; #X obj 68 234 translateXYZ; #X obj 215 69 unpack 0 0 0 0; #X obj 215 94 +; #X obj 254 95 +; #X text 248 125 0..2; #X text 250 145 -1..+1; #X obj 340 148 -; #X obj 377 149 -; #X obj 193 124 - 1; #X obj 222 123 - 1; #X obj 222 146 * 4; #X obj 377 180 * -4; #X obj 155 151 * 5.334; #X obj 320 179 * -5.334; #X msg 184 263 draw line; #X obj 245 246 loadbang; #X connect 0 0 3 0; #X connect 1 0 4 0; #X connect 3 0 2 0; #X connect 4 0 5 0; #X connect 4 0 9 0; #X connect 4 1 5 1; #X connect 4 1 9 1; #X connect 4 2 6 0; #X connect 4 2 10 0; #X connect 4 3 6 1; #X connect 4 3 10 1; #X connect 5 0 11 0; #X connect 6 0 12 0; #X connect 9 0 16 0; #X connect 10 0 14 0; #X connect 11 0 15 0; #X connect 12 0 13 0; #X connect 13 0 3 2; #X connect 14 0 2 2; #X connect 15 0 3 1; #X connect 16 0 2 1; #X connect 17 0 2 0; #X connect 18 0 17 0; #X restore 346 188 pd rectangle; #X obj 346 117 color 1 1 1 0.5; #X obj 346 96 gemhead 70; #X obj 346 138 alpha; #X msg 425 162 $5 $7 $6 $8; #X msg 66 114 $2 $3 $4 $5 $6 $7 $8 $9; #X connect 0 0 16 0; #X connect 0 0 15 0; #X connect 1 0 2 0; #X connect 1 1 3 0; #X connect 1 2 4 0; #X connect 1 3 5 0; #X connect 1 4 6 0; #X connect 1 5 7 0; #X connect 1 6 8 0; #X connect 1 7 9 0; #X connect 12 0 14 0; #X connect 13 0 12 0; #X connect 14 0 11 0; #X connect 15 0 11 1; #X connect 16 0 1 0; #X restore 558 439 pd showblob 2; #X obj 541 347 mtx; #X obj 541 368 route matrix; #X obj 758 653 print mtx2; #X obj 541 392 route 1 2 3 4 5 6; #X floatatom 667 466 5 0 0 1 x - -; #X floatatom 668 482 5 0 0 1 y - -; #X floatatom 668 498 5 0 0 1 size - -; #X floatatom 669 514 5 0 0 1 minX - -; #X floatatom 669 530 5 0 0 1 minY - -; #X floatatom 670 546 5 0 0 1 maxX - -; #X floatatom 670 562 5 0 0 1 maxY - -; #X floatatom 671 578 5 0 0 1 area - -; #X floatatom 754 467 5 0 0 1 x - -; #X floatatom 755 483 5 0 0 1 y - -; #X floatatom 755 499 5 0 0 1 size - -; #X floatatom 756 515 5 0 0 1 minX - -; #X floatatom 756 531 5 0 0 1 minY - -; #X floatatom 757 547 5 0 0 1 maxX - -; #X floatatom 757 563 5 0 0 1 maxY - -; #X floatatom 758 579 5 0 0 1 area - -; #X floatatom 494 466 5 0 0 1 x - -; #X floatatom 495 482 5 0 0 1 y - -; #X floatatom 495 498 5 0 0 1 size - -; #X floatatom 496 514 5 0 0 1 minX - -; #X floatatom 496 530 5 0 0 1 minY - -; #X floatatom 497 546 5 0 0 1 maxX - -; #X floatatom 497 562 5 0 0 1 maxY - -; #X floatatom 498 578 5 0 0 1 area - -; #N canvas 183 567 687 354 showblob 0; #X obj 67 86 inlet blobinformation; #X obj 67 138 unpack 0 0 0 0 0 0 0 0; #X obj 67 167 outlet weightedX; #X obj 88 187 outlet weightedY; #X obj 109 207 outlet weightedSize; #X obj 156 236 outlet minX; #X obj 177 256 outlet minY; #X obj 243 236 outlet maxX; #X obj 260 256 outlet maxY; #X obj 348 238 outlet size; #X text 60 45 this extracts information of the 1st detected blob; #N canvas 517 405 450 300 rectangle 0; #X obj 68 75 inlet; #X obj 215 -1 inlet; #X obj 68 269 rectangle; #X obj 68 234 translateXYZ; #X obj 215 69 unpack 0 0 0 0; #X obj 215 94 +; #X obj 254 95 +; #X text 248 125 0..2; #X text 250 145 -1..+1; #X obj 340 148 -; #X obj 377 149 -; #X obj 193 124 - 1; #X obj 222 123 - 1; #X obj 222 146 * 4; #X obj 377 180 * -4; #X obj 155 151 * 5.334; #X obj 320 179 * -5.334; #X msg 184 263 draw line; #X obj 245 246 loadbang; #X connect 0 0 3 0; #X connect 1 0 4 0; #X connect 3 0 2 0; #X connect 4 0 5 0; #X connect 4 0 9 0; #X connect 4 1 5 1; #X connect 4 1 9 1; #X connect 4 2 6 0; #X connect 4 2 10 0; #X connect 4 3 6 1; #X connect 4 3 10 1; #X connect 5 0 11 0; #X connect 6 0 12 0; #X connect 9 0 16 0; #X connect 10 0 14 0; #X connect 11 0 15 0; #X connect 12 0 13 0; #X connect 13 0 3 2; #X connect 14 0 2 2; #X connect 15 0 3 1; #X connect 16 0 2 1; #X connect 17 0 2 0; #X connect 18 0 17 0; #X restore 346 188 pd rectangle; #X obj 346 117 color 1 1 1 0.5; #X obj 346 96 gemhead 70; #X obj 346 138 alpha; #X msg 425 162 $5 $7 $6 $8; #X msg 66 114 $2 $3 $4 $5 $6 $7 $8 $9; #X connect 0 0 16 0; #X connect 0 0 15 0; #X connect 1 0 2 0; #X connect 1 1 3 0; #X connect 1 2 4 0; #X connect 1 3 5 0; #X connect 1 4 6 0; #X connect 1 5 7 0; #X connect 1 6 8 0; #X connect 1 7 9 0; #X connect 12 0 14 0; #X connect 13 0 12 0; #X connect 14 0 11 0; #X connect 15 0 11 1; #X connect 16 0 1 0; #X restore 472 440 pd showblob 1; #N canvas 183 567 687 354 showblob 0; #X obj 67 86 inlet blobinformation; #X obj 67 138 unpack 0 0 0 0 0 0 0 0; #X obj 67 167 outlet weightedX; #X obj 88 187 outlet weightedY; #X obj 109 207 outlet weightedSize; #X obj 156 236 outlet minX; #X obj 177 256 outlet minY; #X obj 243 236 outlet maxX; #X obj 260 256 outlet maxY; #X obj 348 238 outlet size; #X text 60 45 this extracts information of the 1st detected blob; #N canvas 517 405 450 300 rectangle 0; #X obj 68 75 inlet; #X obj 215 -1 inlet; #X obj 68 269 rectangle; #X obj 68 234 translateXYZ; #X obj 215 69 unpack 0 0 0 0; #X obj 215 94 +; #X obj 254 95 +; #X text 248 125 0..2; #X text 250 145 -1..+1; #X obj 340 148 -; #X obj 377 149 -; #X obj 193 124 - 1; #X obj 222 123 - 1; #X obj 222 146 * 4; #X obj 377 180 * -4; #X obj 155 151 * 5.334; #X obj 320 179 * -5.334; #X msg 184 263 draw line; #X obj 245 246 loadbang; #X connect 0 0 3 0; #X connect 1 0 4 0; #X connect 3 0 2 0; #X connect 4 0 5 0; #X connect 4 0 9 0; #X connect 4 1 5 1; #X connect 4 1 9 1; #X connect 4 2 6 0; #X connect 4 2 10 0; #X connect 4 3 6 1; #X connect 4 3 10 1; #X connect 5 0 11 0; #X connect 6 0 12 0; #X connect 9 0 16 0; #X connect 10 0 14 0; #X connect 11 0 15 0; #X connect 12 0 13 0; #X connect 13 0 3 2; #X connect 14 0 2 2; #X connect 15 0 3 1; #X connect 16 0 2 1; #X connect 17 0 2 0; #X connect 18 0 17 0; #X restore 346 188 pd rectangle; #X obj 346 96 gemhead 70; #X obj 346 138 alpha; #X msg 425 162 $5 $7 $6 $8; #X msg 66 114 $2 $3 $4 $5 $6 $7 $8 $9; #X obj 346 117 color 0 1 0 0.5; #X connect 0 0 15 0; #X connect 0 0 14 0; #X connect 1 0 2 0; #X connect 1 1 3 0; #X connect 1 2 4 0; #X connect 1 3 5 0; #X connect 1 4 6 0; #X connect 1 5 7 0; #X connect 1 6 8 0; #X connect 1 7 9 0; #X connect 12 0 16 0; #X connect 13 0 11 0; #X connect 14 0 11 1; #X connect 15 0 1 0; #X connect 16 0 13 0; #X restore 645 440 pd showblob 3; #N canvas 183 567 687 354 showblob 0; #X obj 67 86 inlet blobinformation; #X obj 67 138 unpack 0 0 0 0 0 0 0 0; #X obj 67 167 outlet weightedX; #X obj 88 187 outlet weightedY; #X obj 109 207 outlet weightedSize; #X obj 156 236 outlet minX; #X obj 177 256 outlet minY; #X obj 243 236 outlet maxX; #X obj 260 256 outlet maxY; #X obj 348 238 outlet size; #X text 60 45 this extracts information of the 1st detected blob; #N canvas 517 405 450 300 rectangle 0; #X obj 68 75 inlet; #X obj 215 -1 inlet; #X obj 68 269 rectangle; #X obj 68 234 translateXYZ; #X obj 215 69 unpack 0 0 0 0; #X obj 215 94 +; #X obj 254 95 +; #X text 248 125 0..2; #X text 250 145 -1..+1; #X obj 340 148 -; #X obj 377 149 -; #X obj 193 124 - 1; #X obj 222 123 - 1; #X obj 222 146 * 4; #X obj 377 180 * -4; #X obj 155 151 * 5.334; #X obj 320 179 * -5.334; #X msg 184 263 draw line; #X obj 245 246 loadbang; #X connect 0 0 3 0; #X connect 1 0 4 0; #X connect 3 0 2 0; #X connect 4 0 5 0; #X connect 4 0 9 0; #X connect 4 1 5 1; #X connect 4 1 9 1; #X connect 4 2 6 0; #X connect 4 2 10 0; #X connect 4 3 6 1; #X connect 4 3 10 1; #X connect 5 0 11 0; #X connect 6 0 12 0; #X connect 9 0 16 0; #X connect 10 0 14 0; #X connect 11 0 15 0; #X connect 12 0 13 0; #X connect 13 0 3 2; #X connect 14 0 2 2; #X connect 15 0 3 1; #X connect 16 0 2 1; #X connect 17 0 2 0; #X connect 18 0 17 0; #X restore 346 188 pd rectangle; #X obj 346 96 gemhead 70; #X obj 346 138 alpha; #X msg 425 162 $5 $7 $6 $8; #X msg 66 114 $2 $3 $4 $5 $6 $7 $8 $9; #X obj 346 117 color 0 0 1 0.5; #X connect 0 0 15 0; #X connect 0 0 14 0; #X connect 1 0 2 0; #X connect 1 1 3 0; #X connect 1 2 4 0; #X connect 1 3 5 0; #X connect 1 4 6 0; #X connect 1 5 7 0; #X connect 1 6 8 0; #X connect 1 7 9 0; #X connect 12 0 16 0; #X connect 13 0 11 0; #X connect 14 0 11 1; #X connect 15 0 1 0; #X connect 16 0 13 0; #X restore 732 441 pd showblob 4; #X floatatom 696 293 5 0 0 1 x - -; #X floatatom 697 309 5 0 0 1 y - -; #X floatatom 697 325 5 0 0 1 size - -; #X floatatom 698 341 5 0 0 1 minX - -; #X floatatom 698 357 5 0 0 1 minY - -; #X floatatom 699 373 5 0 0 1 maxX - -; #X floatatom 699 389 5 0 0 1 maxY - -; #X floatatom 700 405 5 0 0 1 area - -; #X floatatom 783 294 5 0 0 1 x - -; #X floatatom 784 310 5 0 0 1 y - -; #X floatatom 784 326 5 0 0 1 size - -; #X floatatom 785 342 5 0 0 1 minX - -; #X floatatom 785 358 5 0 0 1 minY - -; #X floatatom 786 374 5 0 0 1 maxX - -; #X floatatom 786 390 5 0 0 1 maxY - -; #X floatatom 787 406 5 0 0 1 area - -; #N canvas 97 607 687 354 showblob 0; #X obj 67 86 inlet blobinformation; #X obj 67 138 unpack 0 0 0 0 0 0 0 0; #X obj 67 167 outlet weightedX; #X obj 88 187 outlet weightedY; #X obj 109 207 outlet weightedSize; #X obj 156 236 outlet minX; #X obj 177 256 outlet minY; #X obj 243 236 outlet maxX; #X obj 260 256 outlet maxY; #X obj 348 238 outlet size; #X text 60 45 this extracts information of the 1st detected blob; #N canvas 517 405 450 300 rectangle 0; #X obj 68 75 inlet; #X obj 215 -1 inlet; #X obj 68 269 rectangle; #X obj 68 234 translateXYZ; #X obj 215 69 unpack 0 0 0 0; #X obj 215 94 +; #X obj 254 95 +; #X text 248 125 0..2; #X text 250 145 -1..+1; #X obj 340 148 -; #X obj 377 149 -; #X obj 193 124 - 1; #X obj 222 123 - 1; #X obj 222 146 * 4; #X obj 377 180 * -4; #X obj 155 151 * 5.334; #X obj 320 179 * -5.334; #X msg 184 263 draw line; #X obj 245 246 loadbang; #X connect 0 0 3 0; #X connect 1 0 4 0; #X connect 3 0 2 0; #X connect 4 0 5 0; #X connect 4 0 9 0; #X connect 4 1 5 1; #X connect 4 1 9 1; #X connect 4 2 6 0; #X connect 4 2 10 0; #X connect 4 3 6 1; #X connect 4 3 10 1; #X connect 5 0 11 0; #X connect 6 0 12 0; #X connect 9 0 16 0; #X connect 10 0 14 0; #X connect 11 0 15 0; #X connect 12 0 13 0; #X connect 13 0 3 2; #X connect 14 0 2 2; #X connect 15 0 3 1; #X connect 16 0 2 1; #X connect 17 0 2 0; #X connect 18 0 17 0; #X restore 346 188 pd rectangle; #X obj 346 96 gemhead 70; #X obj 346 138 alpha; #X msg 425 162 $5 $7 $6 $8; #X msg 66 114 $2 $3 $4 $5 $6 $7 $8 $9; #X obj 346 117 color 0 1 1 0.5; #X connect 0 0 15 0; #X connect 0 0 14 0; #X connect 1 0 2 0; #X connect 1 1 3 0; #X connect 1 2 4 0; #X connect 1 3 5 0; #X connect 1 4 6 0; #X connect 1 5 7 0; #X connect 1 6 8 0; #X connect 1 7 9 0; #X connect 12 0 16 0; #X connect 13 0 11 0; #X connect 14 0 11 1; #X connect 15 0 1 0; #X connect 16 0 13 0; #X restore 674 267 pd showblob 5; #N canvas 183 567 687 354 showblob 0; #X obj 67 86 inlet blobinformation; #X obj 67 138 unpack 0 0 0 0 0 0 0 0; #X obj 67 167 outlet weightedX; #X obj 88 187 outlet weightedY; #X obj 109 207 outlet weightedSize; #X obj 156 236 outlet minX; #X obj 177 256 outlet minY; #X obj 243 236 outlet maxX; #X obj 260 256 outlet maxY; #X obj 348 238 outlet size; #X text 60 45 this extracts information of the 1st detected blob; #N canvas 517 405 450 300 rectangle 0; #X obj 68 75 inlet; #X obj 215 -1 inlet; #X obj 68 269 rectangle; #X obj 68 234 translateXYZ; #X obj 215 69 unpack 0 0 0 0; #X obj 215 94 +; #X obj 254 95 +; #X text 248 125 0..2; #X text 250 145 -1..+1; #X obj 340 148 -; #X obj 377 149 -; #X obj 193 124 - 1; #X obj 222 123 - 1; #X obj 222 146 * 4; #X obj 377 180 * -4; #X obj 155 151 * 5.334; #X obj 320 179 * -5.334; #X msg 184 263 draw line; #X obj 245 246 loadbang; #X connect 0 0 3 0; #X connect 1 0 4 0; #X connect 3 0 2 0; #X connect 4 0 5 0; #X connect 4 0 9 0; #X connect 4 1 5 1; #X connect 4 1 9 1; #X connect 4 2 6 0; #X connect 4 2 10 0; #X connect 4 3 6 1; #X connect 4 3 10 1; #X connect 5 0 11 0; #X connect 6 0 12 0; #X connect 9 0 16 0; #X connect 10 0 14 0; #X connect 11 0 15 0; #X connect 12 0 13 0; #X connect 13 0 3 2; #X connect 14 0 2 2; #X connect 15 0 3 1; #X connect 16 0 2 1; #X connect 17 0 2 0; #X connect 18 0 17 0; #X restore 346 188 pd rectangle; #X obj 346 96 gemhead 70; #X obj 346 138 alpha; #X msg 425 162 $5 $7 $6 $8; #X msg 66 114 $2 $3 $4 $5 $6 $7 $8 $9; #X obj 346 117 color 1 0.5 0 0.5; #X connect 0 0 15 0; #X connect 0 0 14 0; #X connect 1 0 2 0; #X connect 1 1 3 0; #X connect 1 2 4 0; #X connect 1 3 5 0; #X connect 1 4 6 0; #X connect 1 5 7 0; #X connect 1 6 8 0; #X connect 1 7 9 0; #X connect 12 0 16 0; #X connect 13 0 11 0; #X connect 14 0 11 1; #X connect 15 0 1 0; #X connect 16 0 13 0; #X restore 761 268 pd showblob 6; #X obj 451 185 pix_movement 0.17; #X obj 453 530 alpha; #X obj 440 501 tgl 15 0 empty empty empty 0 -6 0 10 -262144 -1 -1 0 1; #X msg 579 198 45; #X msg 641 200 3; #X obj 760 113 vsl 20 60 0 1 0 0 empty empty mov 0 -8 0 10 -261682 -1 -1 0 1; #X floatatom 548 167 5 0 0 0 - - -; #X msg 480 69 open device /dev/videoO; #X msg 518 701 dimen 640 480; #X connect 8 0 9 0; #X connect 9 0 8 0; #X connect 12 0 34 0; #X connect 15 0 36 0; #X connect 16 0 17 0; #X connect 17 0 19 0; #X connect 19 0 33 0; #X connect 20 0 21 0; #X connect 21 0 22 0; #X connect 22 0 33 0; #X connect 33 0 98 0; #X connect 33 1 48 0; #X connect 34 0 38 0; #X connect 35 0 34 0; #X connect 37 0 34 0; #X connect 38 0 97 0; #X connect 47 0 39 0; #X connect 47 1 40 0; #X connect 47 2 41 0; #X connect 47 3 42 0; #X connect 47 4 43 0; #X connect 47 5 44 0; #X connect 47 6 45 0; #X connect 47 7 46 0; #X connect 48 0 49 0; #X connect 49 0 51 0; #X connect 51 0 76 0; #X connect 51 1 47 0; #X connect 51 2 77 0; #X connect 51 3 78 0; #X connect 51 4 95 0; #X connect 51 5 96 0; #X connect 76 0 68 0; #X connect 76 1 69 0; #X connect 76 2 70 0; #X connect 76 3 71 0; #X connect 76 4 72 0; #X connect 76 5 73 0; #X connect 76 6 74 0; #X connect 76 7 75 0; #X connect 77 0 52 0; #X connect 77 1 53 0; #X connect 77 2 54 0; #X connect 77 3 55 0; #X connect 77 4 56 0; #X connect 77 5 57 0; #X connect 77 6 58 0; #X connect 77 7 59 0; #X connect 78 0 60 0; #X connect 78 1 61 0; #X connect 78 2 62 0; #X connect 78 3 63 0; #X connect 78 4 64 0; #X connect 78 5 65 0; #X connect 78 6 66 0; #X connect 78 7 67 0; #X connect 95 0 79 0; #X connect 95 1 80 0; #X connect 95 2 81 0; #X connect 95 3 82 0; #X connect 95 4 83 0; #X connect 95 5 84 0; #X connect 95 6 85 0; #X connect 95 7 86 0; #X connect 96 0 87 0; #X connect 96 1 88 0; #X connect 96 2 89 0; #X connect 96 3 90 0; #X connect 96 4 91 0; #X connect 96 5 92 0; #X connect 96 6 93 0; #X connect 96 7 94 0; #X connect 97 0 33 0; #X connect 98 0 15 0; #X connect 99 0 98 0; #X connect 100 0 16 0; #X connect 101 0 20 0; #X connect 102 0 103 0; #X connect 103 0 97 1; #X connect 104 0 34 0; #X connect 105 0 8 1; _______________________________________________ PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/ listinfo/pd-list
|||__||| wrote:
thank you - both worked great!
the extended help patch for pix_multiblob was great, without that i
would have never figured out how it actually works. pix_invert works after pix_rgba, i use pix_grey afterwards.
so the problem only occurs when [pix_invert]ing a greyscale image?
ma.-sdr IOhannes