detecting blob sizes, no matter how many

Jan 23, 2007 at 7:41pm

detecting blob sizes, no matter how many

Ok,

I’m using cv.jit.blobs.bounds in combination with jit.iter to output left, top, right and bottom coordinates of each blob in my window. What I want is to find blobs of a particular size. Next I want to set conditions regarding to this size and if they are met I want to trigger an action.

When I use print this works like a charm, it shows the info of each blob in my max window. But, I can’t touch this data and I need it. When I try to use it now, I can only seem to grab the data of 1 blob in my picture which is the data printed in the last line of my max window.

Is there a way to let max constantly display the info of the blobs in my patch itself? I want it to refresh and show info from blob 1 to x (maybe cycle through all the blobs, no matter how fast and just put the data for instance in 4 number boxes with left, top, right and down locations) so I can detect if there are any blobs with dimensions I’m looking for.

What I do now is connect the iter object to a tbl box and print which prints all the position info of each blob. To try and use this data I use a cord from the same iter object, unpack it and let it go to four number boxes. The problem as mentioned earlier is that it will only show the info of 1 blob (last printed line).

#29896
Jan 23, 2007 at 7:57pm

Bart skrev:
> What I do now is connect the iter object to a tbl box and print which prints all the position info of each blob. To try and use this data I use a cord from the same iter object, unpack it and let it go to four number boxes. The problem as mentioned earlier is that it will only show the info of 1 blob (last printed line)
Hi Bart,
the problem is that once you pass the list through the jit.iter it won’t
be a list anymore! It’ll be *iterated* out instead, hence the name.

Bypass the iter for everything but the print object, and then unpack it,
that should work.

Andreas.

#94259
Jan 23, 2007 at 8:06pm

> Bypass the iter for everything but the print object, and then unpack it,

Thanks, so how do I get the blobdata (left, rop, right and bottom) directly from cv.jit.blobs.bounds then without using iter?

In an earlier thread I was adviced to use iter to get to this data.

#94260
Jan 23, 2007 at 9:18pm

Wow, I’ve tried a lot of different things, I’m getting dizzy..lol.

What I don’t understand is how to get the data out of cv.jit.blobs.bounds without jit.iter.

Each blob has a left top right and bottom. Now this is exactly what jit.iter outputs with print but I’m not sure how to get this info out of cv.jit.blobs.bounds otherwise plus keeping the list and not just the last line.

#94261
Jan 24, 2007 at 12:12am

take a closer look at cv.jit.blobs.bounds.draw, it part of the cvbounds help
file, inside there is a subpatch which passes the cvBounds via [ jit.iter ]
to [framerect $1 $2 $3 $4] message box and from there to jit.lcd.
also
max v2;
#N vpatcher 15 55 615 455;
#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P newex 34 89 52 9109513 t b l;
#P newex 34 111 179 9109513 pack cvBound 0 0 0 0;
#P newex 34 67 53 9109513 jit.iter;
#P newex 34 44 106 9109513 cv.jit.blobs.bounds;
#P connect 0 0 1 0;
#P connect 1 0 3 0;
#P connect 3 0 2 0;
#P connect 3 1 2 1;
#P pop;

On 1/23/07, Bart wrote:
>
>
> Wow, I’ve tried a lot of different things, I’m getting dizzy..lol.
>
> What I don’t understand is how to get the data out of cv.jit.blobs.boundswithout
> jit.iter.
>
> Each blob has a left top right and bottom. Now this is exactly what
> jit.iter outputs with print but I’m not sure how to get this info out of
> cv.jit.blobs.bounds otherwise plus keeping the list and not just the last
> line.
>

#94262
Jan 24, 2007 at 10:50am

Thank you Yair,

The example you posted in your reply is the exact same stuff I use in my patch. It enables me to only grab the last data it gets from cv.jit.blobs.bounds (so, just the data of one single blob)

I’ll go check out the help file you mentioned to see if that can help me.

#94263
Jan 24, 2007 at 12:01pm

Ok, maybe..(read probably) I’m missing something, but it looks like the examples given are what I’m using already. Let’s say that I have four blobs in a window. I want four number boxes that show left top, right and bottom coordinates of blob number 1 in numberbox one to four, next i need the same info in the same boxes but for blob number two and so on.

The print window does exactly the same, it starts with the first blob shows the coordinates on one line and then jumps to the next blob etc. Why don’t the numberboxes that are connected to the exact same outlet as the print object, show the updated data of each blob but just the last one?? Is it maybe a timing problem?

The examples provided in previous posts enable me to grab the 4 coordinates, but the problem is that it only displays the data from one blob, even if there are two in a window.

What I need is to cycle through the coordinates of every blob visible just like it does in the print window.

Is this making any sense?

#94264
Jan 24, 2007 at 12:18pm

strip all unnecessary stuff from your patch, connect it to the balls example
from cv.jit.sort and post.
i think you have a bit of a missunderstanding of max flow of data but ill
need a patch to help you further.

On 1/24/07, Bart wrote:
>
>
> Ok, maybe..(read probably) I’m missing something, but it looks like the
> examples given are what I’m using already. Let’s say that I have four blobs
> in a window. I want four number boxes that show left top, right and bottom
> coordinates of blob number 1 in numberbox one to four, next i need the same
> info in the same boxes but for blob number two and so on.
>
> The print window does exactly the same, it starts with the first blob
> shows the coordinates on one line and then jumps to the next blob etc. Why
> don’t the numberboxes that are connected to the exact same outlet as the
> print object, show the updated data of each blob but just the last one?? Is
> it maybe a timing problem?
>
> The examples provided in previous posts enable me to grab the 4
> coordinates, but the problem is that it only displays the data from one
> blob, even if there are two in a window.
>
> What I need is to cycle through the coordinates of every blob visible just
> like it does in the print window.
>
> Is this making any sense?
>

#94265
Jan 24, 2007 at 12:31pm

Bart skrev:
> What I need is to cycle through the coordinates of every blob visible just like it does in the print window.
>
But doesn’t the max window print all of the blobs in the blink of an
eye, because of the fast iteration? That would mean that the data *is*
getting into the numberboxes, but iter just gets to the last matrix of
data too quickly, thus only showing the last one long enough to see.

(at least, that was the point I was trying to make in my previous post,
sorry if I wasn’t clear enough on that.)
Cheers,
Andreas

#94266
Jan 24, 2007 at 1:24pm

You were clear, I’m just still too much of a noob to get it, but it’s starting to make sense now with the extra info you gave me.

Actually I experienced that all of the data gets through the boxes, although it does it too fast. When I tried to do some calculations, it actually used data from different blobs while this wasn’t the intention. I guess what you see is not always realtime.

Anyway, I’ll try to post something to make it easier to understand.

#94267
Jan 24, 2007 at 1:39pm

Ok, here’s what I’m using connected to the sort patch as requested.

max v2;
#N vpatcher 0 0 1280 734;
#P origin 26 0;
#P window setfont “Sans Serif” 14.;
#P window linecount 13;
#P comment 1073 456 100 9109518 All blobs DATA (Left , top , right , bottom) But showing only 1 blob , here’s where I want it to cycle through the coordinates of each blob visible. Maybe with some sort of delay??;
#P window setfont “Sans Serif” 9.;
#P window linecount 2;
#P comment 1119 300 100 9109513 BLOB 2 DATA (Left , top , right , bottom);
#P number 1180 435 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P window linecount 1;
#P message 849 82 65 9109513 threshold $1;
#P newex 849 127 94 9109513 cv.jit.blobs.bounds;
#P newex 849 102 175 9109513 cv.jit.label @charmode 1 @threshold 10;
#P newex 849 29 66 9109513 jit.rgb2luma;
#P newex 850 51 101 9109513 jit.op @op > @val 105;
#P newex 1071 407 70 9109513 unpack 0 1 2 3;
#P number 1144 435 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 1071 435 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 1108 435 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 1111 209 31 9109513 print;
#P number 1133 337 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 1096 337 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 1022 337 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 1059 337 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 1032 297 70 9109513 unpack 0 0 0 0;
#P number 976 336 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 939 336 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 865 336 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 902 336 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 958 297 70 9109513 unpack 0 0 0 0;
#P newex 958 270 45 9109513 route 0 1;
#P newex 958 189 94 9109513 t b l;
#P newex 958 221 88 9109513 pack blob 1 1 1 1 1;
#P newex 958 245 49 9109513 route blob;
#P newex 958 166 94 9109513 jit.iter;
#P window linecount 2;
#P comment 51 301 291 9109513 You can change the maximum allowed displacement with the “threshold” attribute. Default is 10 pixels.;
#P user panel 37 297 312 36;
#X brgb 247 248 248;
#X frgb 149 55 55;
#X border 1;
#X rounded 0;
#X shadow 0;
#X done;
#P user panel 40 300 313 37;
#X brgb 182 192 184;
#X frgb 198 198 198;
#X border 0;
#X rounded 0;
#X shadow 0;
#X done;
#P comment 94 363 213 9109513 Unprocessed labels. Notice that colours are not always the same for the same ball.;
#P comment 74 166 108 9109513 Convert to greyscale for labeling.;
#B frgb 255 255 255;
#P comment 77 130 108 9109513 Draw 3 randomly moving balls.;
#B frgb 255 255 255;
#P user jit.cellblock 697 400 833 420 3 9 3 1 45 17 0 1 1 0 0 0 0 0 0 0 0 0 255 255 255 0 0 0 0 0 0 191 191 191 0 0 0 215 215 240 1 1 1 0 4 0 0 0;
#P window linecount 1;
#P newex 359 406 87 9109513 cv.jit.blobs.color;
#P user jit.pwindow 358 435 322 242 0 1 0 0 1 0;
#P newex 359 386 62 9109513 jit.charmap;
#N vpatcher 10 59 480 425;
#P outlet 83 245 15 0;
#P inlet 83 44 15 0;
#P window setfont “Sans Serif” 9.;
#P newex 83 92 52 9109513 t l l clear;
#P message 104 161 139 9109513 dstdimend $1 , dstdimstart 1;
#P newex 104 139 53 9109513 route dim;
#P newex 104 117 72 9109513 jit.matrixinfo;
#P newex 83 188 173 9109513 jit.matrix 1 char 256 @usedstdim 1;
#P connect 5 0 4 0;
#P connect 3 0 0 0;
#P connect 4 0 0 0;
#P fasten 4 2 0 0 130 113 198 113 198 182 88 182;
#P connect 0 0 6 0;
#P connect 4 1 1 0;
#P connect 1 0 2 0;
#P connect 2 0 3 0;
#P pop;
#P newobj 411 364 85 9109513 p make_charmap;
#N vpatcher 20 74 620 474;
#P window setfont “Sans Serif” 9.;
#P window linecount 0;
#P newex 60 168 111 9109513 jit.lcd 4 char 320 240;
#P newex 317 30 48 9109513 loadbang;
#P window linecount 1;
#P message 317 52 146 9109513 brgb 0 0 0 , frgb 255 255 255;
#N vpatcher 20 74 733 647;
#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P newex 149 224 37 9109513 + 200;
#P window linecount 0;
#P newex 331 80 48 9109513 loadbang;
#P newex 55 62 27 9109513 b;
#P inlet 55 27 15 0;
#P outlet 149 505 15 0;
#P message 149 479 111 9109513 paintoval $1 $2 $3 $4;
#P newex 182 431 30 9109513 – 20;
#P newex 149 431 30 9109513 – 20;
#P newex 248 431 31 9109513 + 20;
#P newex 215 431 31 9109513 + 20;
#P newex 149 454 109 9109513 pack 0 0 0 0;
#P newex 149 319 74 9109513 clip 220. 300.;
#P newex 234 319 68 9109513 clip 20. 220.;
#P newex 72 107 32 9109513 sel 1;
#P newex 72 85 58 9109513 random 20;
#P newex 184 357 31 9109513 float;
#P newex 254 357 31 9109513 float;
#P newex 234 296 27 9109513 + 0.;
#P newex 149 292 27 9109513 + 0.;
#P newex 234 216 64 9109513 random 200;
#P newex 149 198 64 9109513 random 100;
#P newex 454 202 47 9109513 * 6.283;
#P newex 388 202 29 9109513 * 5.;
#P newex 388 224 76 9109513 poltocar;
#P newex 454 182 41 9109513 * 0.01;
#P newex 388 182 41 9109513 * 0.01;
#P newex 454 161 64 9109513 random 100;
#P newex 388 161 64 9109513 random 100;
#P connect 24 0 25 0;
#P connect 25 1 13 0;
#P connect 13 0 14 0;
#P connect 26 0 7 0;
#P connect 7 0 27 0;
#P fasten 12 0 9 0 189 378 140 378 140 285 154 285;
#P connect 27 0 9 0;
#P connect 9 0 16 0;
#P connect 16 0 20 0;
#P connect 20 0 17 0;
#P connect 17 0 22 0;
#P connect 22 0 23 0;
#P fasten 4 0 9 1 393 250 171 250;
#P fasten 15 0 21 0 239 400 187 400;
#P connect 21 0 17 1;
#P fasten 25 0 12 0 60 351 189 351;
#P fasten 16 0 12 1 154 346 210 346;
#P fasten 16 0 18 0 154 412 220 412;
#P connect 18 0 17 2;
#P connect 26 0 8 0;
#P connect 8 0 10 0;
#P fasten 11 0 10 0 259 377 225 377 225 289 239 289;
#P connect 10 0 15 0;
#P fasten 15 0 19 0 239 383 253 383;
#P connect 19 0 17 3;
#P fasten 4 1 10 1 459 258 256 258;
#P fasten 25 0 11 0 60 351 259 351;
#P fasten 15 0 11 1 239 344 280 344;
#P fasten 14 0 0 0 77 131 393 131;
#P connect 26 0 0 0;
#P connect 0 0 2 0;
#P connect 2 0 5 0;
#P connect 5 0 4 0;
#P fasten 14 0 1 0 77 131 459 131;
#P connect 26 0 1 0;
#P connect 1 0 3 0;
#P connect 3 0 6 0;
#P connect 6 0 4 1;
#P pop;
#P newobj 224 104 72 9109513 p moving_ball;
#N vpatcher 20 74 733 647;
#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P newex 149 227 37 9109513 + 100;
#P window linecount 0;
#P newex 331 80 48 9109513 loadbang;
#P newex 55 62 27 9109513 b;
#P inlet 55 27 15 0;
#P outlet 149 505 15 0;
#P message 149 479 111 9109513 paintoval $1 $2 $3 $4;
#P newex 182 431 30 9109513 – 20;
#P newex 149 431 30 9109513 – 20;
#P newex 248 431 31 9109513 + 20;
#P newex 215 431 31 9109513 + 20;
#P newex 149 454 109 9109513 pack 0 0 0 0;
#P newex 149 319 74 9109513 clip 120. 179.;
#P newex 234 319 68 9109513 clip 20. 220.;
#P newex 72 107 32 9109513 sel 1;
#P newex 72 85 58 9109513 random 20;
#P newex 184 357 31 9109513 float;
#P newex 254 357 31 9109513 float;
#P newex 234 296 27 9109513 + 0.;
#P newex 149 292 27 9109513 + 0.;
#P newex 234 216 64 9109513 random 200;
#P newex 149 202 64 9109513 random 100;
#P newex 454 202 47 9109513 * 6.283;
#P newex 388 202 29 9109513 * 5.;
#P newex 388 224 76 9109513 poltocar;
#P newex 454 182 41 9109513 * 0.01;
#P newex 388 182 41 9109513 * 0.01;
#P newex 454 161 64 9109513 random 100;
#P newex 388 161 64 9109513 random 100;
#P connect 24 0 25 0;
#P connect 25 1 13 0;
#P connect 13 0 14 0;
#P connect 26 0 7 0;
#P connect 7 0 27 0;
#P fasten 12 0 9 0 189 378 140 378 140 285 154 285;
#P connect 27 0 9 0;
#P connect 9 0 16 0;
#P connect 16 0 20 0;
#P connect 20 0 17 0;
#P connect 17 0 22 0;
#P connect 22 0 23 0;
#P fasten 4 0 9 1 393 250 171 250;
#P fasten 15 0 21 0 239 400 187 400;
#P connect 21 0 17 1;
#P fasten 25 0 12 0 60 351 189 351;
#P fasten 16 0 12 1 154 346 210 346;
#P fasten 16 0 18 0 154 412 220 412;
#P connect 18 0 17 2;
#P connect 26 0 8 0;
#P fasten 11 0 10 0 259 377 225 377 225 289 239 289;
#P connect 8 0 10 0;
#P connect 10 0 15 0;
#P fasten 15 0 19 0 239 383 253 383;
#P connect 19 0 17 3;
#P fasten 4 1 10 1 459 258 256 258;
#P fasten 25 0 11 0 60 351 259 351;
#P fasten 15 0 11 1 239 344 280 344;
#P fasten 14 0 0 0 77 131 393 131;
#P connect 26 0 0 0;
#P connect 0 0 2 0;
#P connect 2 0 5 0;
#P connect 5 0 4 0;
#P fasten 14 0 1 0 77 131 459 131;
#P connect 26 0 1 0;
#P connect 1 0 3 0;
#P connect 3 0 6 0;
#P connect 6 0 4 1;
#P pop;
#P newobj 148 104 72 9109513 p moving_ball;
#P newex 50 71 56 9109513 t b b clear;
#N vpatcher 20 74 733 647;
#P window setfont “Sans Serif” 9.;
#P newex 331 80 48 9109513 loadbang;
#P newex 55 62 27 9109513 b;
#P inlet 55 27 15 0;
#P outlet 149 505 15 0;
#P message 149 479 111 9109513 paintoval $1 $2 $3 $4;
#P newex 182 431 30 9109513 – 20;
#P newex 149 431 30 9109513 – 20;
#P newex 248 431 31 9109513 + 20;
#P newex 215 431 31 9109513 + 20;
#P newex 149 454 109 9109513 pack 0 0 0 0;
#P newex 149 319 62 9109513 clip 20. 79.;
#P newex 234 319 68 9109513 clip 20. 220.;
#P newex 72 107 32 9109513 sel 1;
#P newex 72 85 58 9109513 random 20;
#P newex 184 357 31 9109513 float;
#P newex 254 357 31 9109513 float;
#P newex 234 296 27 9109513 + 0.;
#P newex 149 292 27 9109513 + 0.;
#P newex 234 216 64 9109513 random 200;
#P newex 149 216 64 9109513 random 100;
#P newex 454 202 47 9109513 * 6.283;
#P newex 388 202 29 9109513 * 5.;
#P newex 388 224 76 9109513 poltocar;
#P newex 454 182 41 9109513 * 0.01;
#P newex 388 182 41 9109513 * 0.01;
#P newex 454 161 64 9109513 random 100;
#P newex 388 161 64 9109513 random 100;
#P connect 24 0 25 0;
#P connect 25 1 13 0;
#P connect 13 0 14 0;
#P connect 26 0 7 0;
#P fasten 12 0 9 0 189 378 140 378 140 285 154 285;
#P connect 7 0 9 0;
#P connect 9 0 16 0;
#P connect 16 0 20 0;
#P connect 20 0 17 0;
#P connect 17 0 22 0;
#P connect 22 0 23 0;
#P fasten 4 0 9 1 393 250 171 250;
#P fasten 15 0 21 0 239 400 187 400;
#P connect 21 0 17 1;
#P fasten 25 0 12 0 60 351 189 351;
#P fasten 16 0 12 1 154 346 210 346;
#P fasten 16 0 18 0 154 412 220 412;
#P connect 18 0 17 2;
#P connect 26 0 8 0;
#P connect 8 0 10 0;
#P fasten 11 0 10 0 259 377 225 377 225 289 239 289;
#P connect 10 0 15 0;
#P fasten 15 0 19 0 239 383 253 383;
#P connect 19 0 17 3;
#P fasten 4 1 10 1 459 258 256 258;
#P fasten 25 0 11 0 60 351 259 351;
#P fasten 15 0 11 1 239 344 280 344;
#P fasten 14 0 0 0 77 131 393 131;
#P connect 26 0 0 0;
#P connect 0 0 2 0;
#P connect 2 0 5 0;
#P connect 5 0 4 0;
#P fasten 14 0 1 0 77 131 459 131;
#P connect 26 0 1 0;
#P connect 1 0 3 0;
#P connect 3 0 6 0;
#P connect 6 0 4 1;
#P pop;
#P newobj 73 104 72 9109513 p moving_ball;
#P newex 50 50 52 9109513 metro 33;
#P inlet 50 30 15 0;
#P outlet 60 244 15 0;
#P connect 1 0 2 0;
#P connect 2 0 4 0;
#P connect 4 0 9 0;
#P connect 3 0 9 0;
#P connect 5 0 9 0;
#P connect 6 0 9 0;
#P fasten 7 0 9 0 322 148 65 148;
#P connect 4 2 9 0;
#P connect 9 0 0 0;
#P connect 4 1 3 0;
#P fasten 4 1 5 0 78 97 153 97;
#P fasten 4 1 6 0 78 97 229 97;
#P connect 8 0 7 0;
#P pop;
#P newobj 2 135 69 9109513 p three_balls;
#P newex 411 322 151 9109513 cv.jit.blobs.sort @threshold 20;
#P newex 411 292 106 9109513 cv.jit.blobs.centroids;
#P newex 2 367 87 9109513 cv.jit.blobs.color;
#P newex 2 224 122 9109513 cv.jit.label @charmode 1;
#P newex 2 166 66 9109513 jit.rgb2luma;
#P toggle 2 108 15 0;
#P user jit.pwindow 1 435 322 242 0 1 0 0 1 0;
#P window linecount 2;
#P comment 481 481 102 9109513 Labeling must be done with char output.;
#P window linecount 1;
#P comment 629 310 163 9109513 1-plane single-row char;
#P comment 627 275 163 9109513 3 or 17-plane single-row float32;
#P comment 581 310 185 9109513 Output:;
#B frgb 247 247 247;
#P comment 581 275 185 9109513 Input:;
#B frgb 247 247 247;
#P user panel 577 268 51 37;
#X brgb 140 140 140;
#X frgb 198 198 198;
#X border 1;
#X rounded 0;
#X shadow 0;
#X done;
#P user panel 577 268 218 36;
#X brgb 198 198 198;
#X frgb 140 140 140;
#X border 1;
#X rounded 0;
#X shadow 0;
#X done;
#P window linecount 13;
#P user com 239 101 438 9109513 500;
#K set 0 19553 25189 27753 28263 8291 28526 28261 25460 25956 8291 28525 28783 28261 28276 29472 30569 29800 8291 30254 27241 29742 27745 25189 27692 8303 28261 8303 26228 25966 8306 30062 29472 26990 29807 8308 26725 8304 29295 25196 25965 8303 26144 28514 27237 25460 29472 26721 30313 28263 8292 26982 26213 29285 28276 8300 24930 25964 29472 26226 28525 8294 29281 28005 8308 28448 26226 24941 25888 25717 25888 29807 8291 26721 28263 26990 26400 28783 29545 29801 28526 8303 29216 24946 25953 11789 25462 11882 26996 11874 27759 25203 11891 28530 29728 28786 28534 26980 25971 8289 8307;
#K set 100 26989 28780 25888 29551 27765 29801 28526 8308 28448 29800 26995 8304 29295 25196 25965 11296 29800 24948 8289 27764 26735 30055 26656 28009 26472 29728 28271 29728 30575 29291 8297 28192 25974 25970 31008 29545 29813 24948 26991 28204 8289 29728 27749 24947 29728 26482 25953 29804 31008 29545 28016 27753 26217 25971 8307 26989 28780 25888 25196 28514 8308 29281 25451 26990 26414 3394 27759 25120 25445 28276 29295 26980 29472 28021 29556 8294 26994 29556 8290 25888 25455 28016 30068 25956 8309 29545 28263 8293 26996 26725 29216 25462 11882 26996 11874 27759 25203 11875 25966 29810;
#K set 200 28521 25715 8303 29216 25462 11882 26996 11874 27759 25134 28015 28005 28276 29486 8262 28530 8293 30309 29305 8290 27759 25120 26980 25966 29801 26217 25956 8297 28192 29800 25888 25461 29298 25966 29728 26226 24941 25900 8308 26725 8303 25194 25955 29728 29810 26981 29472 29807 8294 26990 25632 29800 25888 25196 28514 8308 26721 29728 30561 29472 25452 28531 25971 29728 26990 8308 26725 8304 29285 30313 28533 29472 26226 24941 25902 8265 26144 29800 24948 8290 27759 25120 26995 8311 26996 26729 28192 30067 25970 11620 25958 26990 25956 8290 28533 28260 29484 8297 29728 26995;
#K set 300 8291 28526 29545 25701 29285 25632 29807 8290 25888 29800 25888 29537 28005 8289 28260 8297 29728 26995 8295 26998 25966 8308 26725 8307 24941 25888 27745 25189 27694 8265 26144 28271 8291 28530 29285 29552 28526 25705 28263 8290 27759 25203 8291 28533 27748 8290 25888 26223 30062 25632 26990 8308 26725 8304 29285 30313 28533 29472 26226 24941 25900 8297 29728 26995 8295 26998 25966 8289 8302 25975 8300 24930 25964 11789 3412 26725 8303 30068 28789 29728 26995 8289 8241 11632 27745 28261 8307 26990 26476 25901 29295 30496 25448 24946 8301 24948 29289 30766 8276 26725;
#K set 400 8302 30061 25189 29216 28518 8291 25964 27763 8291 28530 29285 29552 28526 25715 8308 28448 29800 25888 28277 28002 25970 8303 26144 25196 28514 29472 26990 8308 26725 8297 28001 26469 11808 21608 25888 30305 27765 25888 28518 8308 26725 8303 30068 28789 29728 26995 8308 26721 29728 25196 28514 10099 8304 25970 28001 28261 28276 8300 24930 25964 11808 20334 25445 8289 8290 27759 25120 25705 29555 24944 25953 29299 11296 26996 29472 27745 25189 27680 26995 8294 29285 25956 8307 28448 26996 8291 24942 8290 25888 29793 27493 28192 25209 8289 8302 25975 8290 27759 25134 3328;
#K end;
#P window linecount 2;
#P comment 734 603 129 9109513 International Academy of Media Arts & Sciences;
#B frgb 15 2 2;
#P window linecount 1;
#P comment 734 588 110 9109513 support:;
#B frgb 15 2 2;
#P window linecount 3;
#P user com 732 532 121 9109513 30;
#K set 0 17017 8266 25953 28205 19809 29283 8272 25964 27749 29801 25970 3434 28016 16489 24941 24947 11873 25390 27248 3395 28528 31090 26983 26740 8361 12848 12339 11570 12336 13824;
#K end;
#P user panel 725 525 140 111;
#X brgb 198 198 198;
#X frgb 140 140 140;
#X border 1;
#X rounded 0;
#X shadow 0;
#X done;
#P window linecount 1;
#P comment 23 109 135 9109513 Turn on animation;
#B frgb 255 255 255;
#P window setfont “Sans Serif” 24.;
#P comment -12 23 684 9109528 cv.jit.blobs.sort: re-order labels for continuity;
#B frgb 14 51 69;
#P user panel -12 95 214 118;
#X brgb 111 127 126;
#X frgb 0 0 0;
#X border 0;
#X rounded 0;
#X shadow 0;
#X done;
#P user panel -7 355 326 44;
#X brgb 247 248 248;
#X frgb 149 55 55;
#X border 1;
#X rounded 0;
#X shadow 0;
#X done;
#P user panel 404 318 166 26;
#X brgb 219 224 220;
#X frgb 255 255 255;
#X border 1;
#X rounded 0;
#X shadow 0;
#X done;
#P user panel 577 302 51 37;
#X brgb 140 140 140;
#X frgb 198 198 198;
#X border 1;
#X rounded 0;
#X shadow 0;
#X done;
#P user panel 577 303 218 36;
#X brgb 198 198 198;
#X frgb 140 140 140;
#X border 1;
#X rounded 0;
#X shadow 0;
#X done;
#P user panel 745 468 142 110;
#X brgb 182 192 184;
#X frgb 198 198 198;
#X border 0;
#X rounded 0;
#X shadow 0;
#X done;
#P user panel -12 52 600 4;
#X brgb 182 192 184;
#X frgb 198 198 198;
#X border 0;
#X rounded 0;
#X shadow 0;
#X done;
#P user panel -12 51 600 5;
#X brgb 149 55 55;
#X frgb 149 55 55;
#X border 0;
#X rounded 0;
#X shadow 0;
#X done;
#P user panel -4 358 327 45;
#X brgb 182 192 184;
#X frgb 198 198 198;
#X border 0;
#X rounded 0;
#X shadow 0;
#X done;
#P user panel -9 98 216 119;
#X brgb 182 192 184;
#X frgb 198 198 198;
#X border 0;
#X rounded 0;
#X shadow 0;
#X done;
#P user panel 580 271 218 72;
#X brgb 182 192 184;
#X frgb 198 198 198;
#X border 0;
#X rounded 0;
#X shadow 0;
#X done;
#P user panel 225 94 566 163;
#X brgb 230 230 230;
#X frgb 255 255 255;
#X border 1;
#X rounded 0;
#X shadow 0;
#X done;
#P user panel 229 99 566 163;
#X brgb 182 192 184;
#X frgb 198 198 198;
#X border 0;
#X rounded 0;
#X shadow 0;
#X done;
#P user panel 185 114 148 4;
#X brgb 182 192 184;
#X frgb 198 198 198;
#X border 0;
#X rounded 0;
#X shadow 0;
#X done;
#P user panel 185 106 148 4;
#X brgb 182 192 184;
#X frgb 198 198 198;
#X border 0;
#X rounded 0;
#X shadow 0;
#X done;
#P user panel 185 98 148 4;
#X brgb 182 192 184;
#X frgb 198 198 198;
#X border 0;
#X rounded 0;
#X shadow 0;
#X done;
#P user panel 685 213 4 98;
#X brgb 182 192 184;
#X frgb 198 198 198;
#X border 0;
#X rounded 0;
#X shadow 0;
#X done;
#P user panel 676 213 4 98;
#X brgb 182 192 184;
#X frgb 198 198 198;
#X border 0;
#X rounded 0;
#X shadow 0;
#X done;
#P user panel 667 213 4 98;
#X brgb 182 192 184;
#X frgb 198 198 198;
#X border 0;
#X rounded 0;
#X shadow 0;
#X done;
#P window setfont “Sans Serif” 9.;
#P hidden newex 507 581 106 9109513 bgcolor 210 210 195;
#P user fpic 580 18 255 72 cvtitle.gif 0 0 0 0. 0 0 0;
#P window linecount 5;
#P comment 460 469 113 9109513 You MUST label the image with “charmode” set to 1 and calculate moments before processing!;
#P window linecount 1;
#P comment 720 383 100 9109513 Re-ordered labels.;
#P window linecount 2;
#P comment 475 387 169 9109513 Notice that the colour stays the same after processing.;
#P user panel 347 360 327 68;
#X brgb 247 248 248;
#X frgb 149 55 55;
#X border 1;
#X rounded 0;
#X shadow 0;
#X done;
#P user panel 350 363 328 69;
#X brgb 182 192 184;
#X frgb 198 198 198;
#X border 0;
#X rounded 0;
#X shadow 0;
#X done;
#P comment 845 300 100 9109513 BLOB 1 DATA (Left , top , right , bottom);
#P window linecount 3;
#P comment 1112 231 100 9109513 check max window to see the data of all blobs;
#P connect 43 0 49 0;
#P connect 49 0 44 0;
#P connect 44 0 45 0;
#P connect 45 0 46 0;
#P connect 46 0 42 0;
#P fasten 45 0 51 0 7 278 364 278;
#P connect 51 0 53 0;
#P connect 53 0 52 0;
#P fasten 45 0 47 0 7 278 416 278;
#P connect 47 0 48 0;
#P connect 48 0 50 0;
#P connect 50 0 51 1;
#P fasten 48 0 54 0 416 352 702 352;
#P connect 49 0 82 0;
#P connect 85 0 83 0;
#P connect 81 0 83 0;
#P connect 83 0 84 0;
#P connect 82 0 81 0;
#P connect 66 0 68 0;
#P connect 66 1 67 0;
#P connect 66 2 69 0;
#P fasten 84 0 61 0 854 156 963 156;
#P connect 61 0 64 0;
#P connect 64 0 63 0;
#P connect 63 0 62 0;
#P connect 62 0 65 0;
#P connect 65 0 66 0;
#P connect 61 1 63 1;
#P connect 66 3 70 0;
#P connect 64 1 63 2;
#P connect 71 0 73 0;
#P connect 65 1 71 0;
#P connect 71 1 72 0;
#P connect 64 1 80 0;
#P connect 80 0 78 0;
#P connect 71 2 74 0;
#P connect 80 1 77 0;
#P connect 64 1 76 0;
#P connect 71 3 75 0;
#P connect 80 2 79 0;
#P connect 80 3 86 0;
#P pop;

Now, as you can see I get data of all the blobs in the print window.

Also, I can get the right data per blob but this would require me knowing how many there are, which I don’t (in the example you see 2). The unpack object in the lower right part of the screen actually gets the same data as the print window shows..but as mentioned earlier here’s where my problem comes up, it shows just one line. I need that part to show the data of each blob one by one. If that’s possible of course..

#94268
Jan 24, 2007 at 3:04pm

okay Bart, I had a quick look and I found a quick hack solution for you.

Basically, instead of using iter, which doesn’t do anything in terms of
preserving the order of the blobs, try connecting these to you
jit.cv.blobs.bounds left outlet:

#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P comment 1072 212 100 9109513 blob 3;
#P comment 938 209 100 9109513 blob 2;
#P number 1082 265 35 9 0 0 0 139 0 0 0 53 0 198 222 222 222 0 0 0;
#P number 802 263 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 946 262 35 9 0 0 0 139 0 0 0 255 9 9 222 222 222 0 0 0;
#P newex 1026 157 76 9109513 jit.spill @plane 3;
#P newex 1065 176 73 9109513 unpack 0 0 0;
#P newex 931 158 76 9109513 jit.spill @plane 2;
#P newex 969 178 73 9109513 unpack 0 0 0;
#P number 1116 248 35 9 0 0 0 139 0 0 0 53 0 198 222 222 222 0 0 0;
#P number 827 246 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 971 245 35 9 0 0 0 139 0 0 0 255 9 9 222 222 222 0 0 0;
#P newex 850 160 76 9109513 jit.spill @plane 1;
#P newex 874 178 73 9109513 unpack 0 0 0;
#P number 1084 231 35 9 0 0 0 139 0 0 0 53 0 198 222 222 222 0 0 0;
#P number 804 229 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 948 228 35 9 0 0 0 139 0 0 0 255 9 9 222 222 222 0 0 0;
#P newex 771 161 76 9109513 jit.spill @plane 0;
#P newex 770 180 73 9109513 unpack 0 0 0;
#P number 1054 247 35 9 0 0 0 139 0 0 0 53 0 198 222 222 222 0 0 0;
#P number 775 249 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 915 246 35 9 0 0 0 139 0 0 0 255 9 9 222 222 222 0 0 0;
#P comment 788 215 100 9109513 blob 1;
#P hidden fasten 16 2 20 0 1132 255 1087 255;
#P hidden fasten 16 1 18 0 1101 255 951 255;
#P hidden connect 16 0 19 0;
#P connect 17 0 16 0;
#P connect 15 0 14 0;
#P hidden connect 14 2 13 0;
#P hidden connect 14 1 11 0;
#P hidden connect 14 0 12 0;
#P connect 10 0 9 0;
#P hidden connect 9 0 7 0;
#P hidden connect 9 1 6 0;
#P hidden connect 9 2 8 0;
#P hidden connect 4 2 3 0;
#P hidden connect 4 1 1 0;
#P hidden connect 4 0 2 0;
#P connect 5 0 4 0;
#P window clipboard copycount 23;

#94269
Jan 24, 2007 at 3:12pm

Andreas Wetterberg skrev:
> Basically, instead of using iter, which doesn’t do anything in terms
> of preserving the order of the blobs…
ahem. I didn’t just say that – jit.iter outputs the plane through the
middle outlet – that works like an index, really.
A.

#94270
Jan 24, 2007 at 3:20pm

Andreas Wetterberg skrev:
> okay Bart, I had a quick look and I found a quick hack solution for you.
and boy, was that a hack…

this is a LOT more elegant, I think – note that the middle outlet of the
jit.iter is used to select where the lists go:

Andreas.

#P window setfont “Sans Serif” 9.;
#P number 1013 353 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 1049 336 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 978 336 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 1013 321 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P window linecount 1;
#P newex 987 294 70 9109513 unpack 0 0 0 0;
#P newex 836 190 27 9109513 + 1;
#P newex 836 243 40 9109513 gate 3;
#P newex 688 127 94 9109513 cv.jit.blobs.bounds;
#P number 899 352 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 935 335 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 864 335 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 898 320 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 883 293 70 9109513 unpack 0 0 0 0;
#P number 785 352 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 822 335 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 751 335 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 787 320 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 771 293 70 9109513 unpack 0 0 0 0;
#P newex 797 166 94 9109513 jit.iter;
#P connect 12 2 14 0;
#P connect 14 0 16 0;
#P connect 14 1 15 0;
#P connect 14 2 17 0;
#P connect 14 3 18 0;
#P connect 12 1 6 0;
#P connect 12 0 1 0;
#P fasten 0 0 12 1 802 229 871 229;
#P connect 13 0 12 0;
#P connect 0 1 13 0;
#P connect 6 3 10 0;
#P connect 6 2 9 0;
#P connect 6 1 7 0;
#P connect 6 0 8 0;
#P connect 1 3 5 0;
#P fasten 11 0 0 0 693 156 802 156;
#P connect 1 2 4 0;
#P connect 1 1 2 0;
#P connect 1 0 3 0;
#P window clipboard copycount 19;

#94271
Jan 24, 2007 at 3:26pm

Thank you,

But, this is still showing data per blob, which is cool but what if I have 199 blobs?

Isn’t it possible to let each line of info (left, top, right, bottom) per blob go through 1 set of four number boxes? This way i can look for certain values in each blob.

cv.jit.blobs.bounds outputs the info of all visible blobs right?

Can I use this info and read it in 4 number boxes just like the print info but cycling through each blob from number 1 to number x?

Right now the patch you gave me actually shows the same info as I had for the first two blobs. But I don’t want to seperate it per blob. Dang, my English prevents me from explaining what I mean..lol.

O wait, I see you posted more, let me check that first..sorry.

#94272
Jan 24, 2007 at 3:45pm

Ok, in your example you split up the values of each blob to three different sets of number boxes.

But, is it also possible to just let all of the blob values go through 1 set of number boxes? So it starts with values of blob 1 till blob x.

Your solution is way more efficient indeed btw..:)

#94273
Jan 24, 2007 at 6:39pm

Bart skrev:
> Ok, in your example you split up the values of each blob to three different sets of number boxes.
>
> But, is it also possible to just let all of the blob values go through 1 set of number boxes? So it starts with values of blob 1 till blob x.
>
Here you go:
Adjust the timing on the metro, stop metro and tweak numbox to select
manually.

Andreas.
_______________

#P window setfont “Sans Serif” 9.;
#P number 626 251 35 9 0 0 0 139 0 0 0 195 202 252 222 222 222 0 0 0;
#P window linecount 1;
#P newex 852 194 30 9109513 zl nth;
#P newex 852 162 76 9109513 jit.spill @plane 3;
#P newex 973 143 27 9109513 + 1;
#P newex 950 97 27 9109513 – 1;
#P newex 932 160 29 9109513 zl len;
#N counter;
#X flags 0 0;
#P newobj 894 119 66 9109513 counter;
#P toggle 894 78 15 0;
#P newex 894 97 50 9109513 metro 850;
#P number 973 169 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 731 266 35 9 0 0 0 139 0 0 0 255 252 25 222 222 222 0 0 0;
#P number 766 251 35 9 0 0 0 139 0 0 0 255 252 25 222 222 222 0 0 0;
#P newex 773 194 30 9109513 zl nth;
#P number 731 235 35 9 0 0 0 139 0 0 0 255 252 25 222 222 222 0 0 0;
#P newex 696 194 30 9109513 zl nth;
#P number 697 251 35 9 0 0 0 139 0 0 0 255 252 25 222 222 222 0 0 0;
#P newex 773 162 76 9109513 jit.spill @plane 2;
#P newex 696 162 76 9109513 jit.spill @plane 1;
#P newex 619 162 76 9109513 jit.spill @plane 0;
#P newex 669 109 94 9109513 cv.jit.blobs.bounds;
#P newex 619 194 30 9109513 zl nth;
#P comment 623 236 60 9109513 Blob number;
#P user panel 695 225 108 67;
#X brgb 191 191 191;
#X frgb 0 0 0;
#X border 1;
#X rounded 0;
#X shadow 0;
#X done;
#P hidden fasten 13 0 22 0 978 218 631 218;
#P fasten 13 0 2 1 978 190 644 190;
#P fasten 13 0 8 1 978 190 721 190;
#P fasten 13 0 10 1 978 190 798 190;
#P fasten 13 0 21 1 978 190 877 190;
#P connect 19 0 13 0;
#P fasten 3 0 4 0 674 157 624 157;
#P fasten 3 0 5 0 674 157 701 157;
#P fasten 3 0 6 0 674 157 778 157;
#P fasten 3 0 20 0 674 157 857 157;
#P connect 20 0 21 0;
#P connect 6 0 10 0;
#P connect 5 0 8 0;
#P connect 4 0 2 0;
#P hidden connect 21 0 12 0;
#P fasten 16 0 19 0 899 140 978 140;
#P lcolor 2;
#P connect 18 0 16 4;
#P fasten 17 0 18 0 937 183 965 183 965 118 979 118 979 93 955 93;
#P connect 14 0 16 0;
#P connect 15 0 14 0;
#P hidden connect 10 0 11 0;
#P hidden connect 8 0 9 0;
#P hidden connect 2 0 7 0;
#P window clipboard copycount 23;

#94274
Jan 25, 2007 at 3:16am

#94275
Jan 25, 2007 at 7:59pm

Wow, that’s impressive..lol. Thanks for your input guys, I’m gonna have to mess around with these for a while because now only the first row of jit.cellblock shows data of a blob..wonder why..

But I definitely think it can solve my problem once I figure out how it works.

#94276
Jan 25, 2007 at 8:09pm

Btw, is it true that the jit.cellblock example uses a subpatch?

#94277
Jan 26, 2007 at 12:54am

Quote: Berani wrote on Thu, 25 January 2007 12:59
—————————————————-
> Wow, that’s impressive..lol. Thanks for your input guys, I’m gonna have to mess around with these for a while because now only the first row of jit.cellblock shows data of a blob..wonder why..
>

That’s because there’s only one blob in your image. It works fine for me. Have you forgotten to use cv.jit.label before cv.jit.blobs.bounds?

And, yes, there is a sub-patch. Double click on the object [p pad_data] to see what’s inside. As your patches get bigger, using sub-patchers becomes pretty much a necessity. Here, I could have done without one, be it helps label the program better.

#94278
Feb 1, 2007 at 12:25am

Hi,

I connected cv.jit.label @charmode 1 @threshold 400 to cv.jit.blobs.bounds, but it only fills the first row of cells.

The patch of Andreas really comes close to what I need, but because like you said number boxes aren’t really meant to handle data that’s spitted out constantly, it’s causing some unwanted data to slip through every now and then..

I would like to give the jit.cellblock another try though, once I can manage to fill up the cells with data of all blobs visible.

#94279
Feb 1, 2007 at 12:49am

I found the problem, a backslash character didn’t show up properly in the patch I pasted. This one should work:

(If it still doesn’t work, the message box inside the sub-patcher should be: [dstdimstart 0 0, dstdimend $1 0] )

#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P comment 206 642 37 196617 bottom;
#P comment 152 642 37 196617 right;
#P comment 104 642 37 196617 top;
#N vpatcher 30 89 630 489;
#P window setfont “Sans Serif” 9.;
#P newex 50 226 68 196617 jit.transpose;
#P newex 71 148 27 196617 – 1;
#P newex 50 50 52 196617 t l l clear;
#P message 71 169 157 196617 dstdimstart 0 0 , dstdimend $1 0;
#P newex 71 125 53 196617 route dim;
#P newex 71 103 72 196617 jit.matrixinfo;
#P newex 50 203 180 196617 jit.matrix 4 long 256 1 @usedstdim 1;
#P inlet 50 30 15 0;
#P outlet 50 289 15 0;
#P connect 1 0 6 0;
#P connect 5 0 2 0;
#P fasten 6 2 2 0 97 75 253 75 253 194 55 194;
#P connect 6 0 2 0;
#P connect 2 0 8 0;
#P connect 8 0 0 0;
#P connect 6 1 3 0;
#P connect 3 0 4 0;
#P connect 4 0 7 0;
#P connect 7 0 5 0;
#P pop;
#P newobj 306 137 58 196617 p pad_data;
#P newex 53 86 204 196617 jit.unpack;
#P user jit.cellblock 53 110 99 638 3 9 1 256 45 17 0 1 1 0 0 0 0 0 0 0 0 0 255 255 255 0 0 0 0 0 0 191 191 191 0 0 0 215 215 240 1 1 1 0 4 0 0 0;
#P user jit.cellblock 101 110 147 638 3 9 1 256 45 17 0 1 1 0 0 0 0 0 0 0 0 0 255 255 255 0 0 0 0 0 0 191 191 191 0 0 0 215 215 240 1 1 1 0 4 0 0 0;
#P user jit.cellblock 149 110 195 638 3 9 1 256 45 17 0 1 1 0 0 0 0 0 0 0 0 0 255 255 255 0 0 0 0 0 0 191 191 191 0 0 0 215 215 240 1 1 1 0 4 0 0 0;
#P user jit.cellblock 197 110 258 638 3 9 1 256 45 17 0 1 1 0 0 0 1 0 0 0 0 0 255 255 255 0 0 0 0 0 0 191 191 191 0 0 0 215 215 240 1 1 1 0 4 0 0 0;
#P newex 306 114 94 196617 cv.jit.blobs.bounds;
#P comment 57 642 37 196617 left;
#P connect 1 0 7 0;
#P hidden connect 2 2 5 1;
#P hidden connect 2 2 4 1;
#P hidden connect 2 2 3 1;
#P connect 6 3 2 0;
#P connect 6 2 3 0;
#P connect 6 1 4 0;
#P connect 6 0 5 0;
#P fasten 7 0 6 0 311 176 272 176 272 77 58 77;
#P window clipboard copycount 11;

#94280
Feb 1, 2007 at 2:16pm

Beautiful, thank you. It works great.

Now, let’s say I would like to search the cellblock for specific values.

Like left should be 4, top 8, right 15 and bottom 20.

What objects would you advice me to use?
The found match of course can be found in different rows.

Now with number boxes I’m a bit more familiar so I found a way to find a match based on some conditions once cycling through all the blobs worked, but I wonder how I can achieve this by using the cellblock patch you created.

I would really like to use the cellblock version because this way it shows all the needed data at once.

#94281
Feb 2, 2007 at 4:20am

I suggest you really, really spend more time trying to understand how data flow works in Max. The answer to your question is very simple, but you need a better grasp of how Max works at the base.

As a starting point, I’ll just say that the cell block is only for displaying data.

#94282

You must be logged in to reply to this topic.