Simon Ball wrote:
Hi List
hi. it seems like i received this email multiple times...
However, there are few areas I am still confused about. First of all, I am unsure of how to extract muliple co-ordinates from [pix_multiblob]. I understand that the data from multiblob is collated within a matrix. I am able to see this in the pd window when I print. However, I am unsure how to use a matrix. Is there a certain object that I should be sending to from [pix_multiblob]? And in turn, how would I convert the matrix into xy co-ordinates.
there is a separate library dedicated to the kind of matrices output by [pix_multiblob]; it's called "iemmatrix".
however, you should have an understanding of matrices in order to use it.
matrices of this form are simple messages which you can treat like any other message. attached are two examples on how to extract the rows of a matrix (and pix_multiblob will give you one row per blob; so this is interesting data), one using iemmatrix ([pix_rows]) and one using zexy ([pix_rowz]). it is left as an exercise for the user to make a pd-vanilla implementation.
just send the mtx-output of [pix_multiblob] to the object, and you will get nice lists for each blob, starting with the index of the blob (zero-based) and then comes the data. use [route] to filter the relevant blobs and [unpack] to access the data.
In the archives I found a response to similar a question saying there was a gem example with matrix and multiblob, but I can not seem to find it. Any idea what and where this is?
there's an abstraction called [pix_blobtracker] which uses [pix_multiblob] and matrix operations to track blobs.
Hope thats not too many questions. And is it easier for the list if I divide questions up (for archive purposes perhaps)?
personally i would prefer separate threads for separate questions for starters. it always ends in confusion, but we could try to delay this...
gmsdr IOhannes
#N canvas 0 0 552 353 10; #X obj 153 163 mtx; #X msg 153 143 col; #X obj 153 123 t b a b; #X obj 153 208 list prepend; #X obj 153 184 t a b; #X obj 196 185 i; #X obj 225 187 + 1; #X msg 214 165 0; #X obj 153 97 inlet; #X obj 153 236 outlet; #X text 72 48 output thw rows of a matrix , prepended with a (zero-based) index; #X text 50 265 depends on [iemmatrix]; #X connect 0 0 4 0; #X connect 1 0 0 0; #X connect 2 0 1 0; #X connect 2 1 0 1; #X connect 2 2 7 0; #X connect 3 0 9 0; #X connect 4 0 3 0; #X connect 4 1 5 0; #X connect 5 0 6 0; #X connect 5 0 3 1; #X connect 6 0 5 1; #X connect 7 0 5 1; #X connect 8 0 2 0;
#N canvas 166 277 450 419 10; #X msg 176 195 $2; #X obj 184 249 repack; #X obj 144 221 list split 3; #X obj 184 321 list prepend; #X obj 144 170 t a a b; #X obj 184 274 t a b; #X obj 216 297 i; #X obj 246 298 + 1; #X msg 234 276 0; #X obj 144 145 inlet; #X obj 184 351 outlet; #X text 72 108 output thw rows of a matrix , prepended with a (zero-based) index; #X text 50 375 depends on [zexy]; #X connect 0 0 1 1; #X connect 1 0 5 0; #X connect 2 1 1 0; #X connect 3 0 10 0; #X connect 4 0 2 0; #X connect 4 1 0 0; #X connect 4 2 8 0; #X connect 5 0 3 0; #X connect 5 1 6 0; #X connect 6 0 7 0; #X connect 6 0 3 1; #X connect 7 0 6 1; #X connect 8 0 6 1; #X connect 9 0 4 0;