motion tracking + multi particle system

Jun 15, 2007 at 10:32am

motion tracking + multi particle system

hello, i want to track persons in front of a white wall. therefor i use a webcam. its no problem to track the moves of the people. but the trick of my installation is that i want to get an fill the outlines of the peoples with a colour / multiy particle system so that i can project the shadow of the people to another wall. has anyone an idea what object / externel is helpful?

thanx christian

#32475
Jun 15, 2007 at 5:10pm

try jit.op @op >p @val 10 on a grayscaled image, then run it through
jit.op @op > @val 0.

On Jun 15, 2007, at 6:32 AM, royal8 wrote:

>
> hello, i want to track persons in front of a white wall. therefor i
> use a webcam. its no problem to track the moves of the people. but
> the trick of my installation is that i want to get an fill the
> outlines of the peoples with a colour / multiy particle system so
> that i can project the shadow of the people to another wall. has
> anyone an idea what object / externel is helpful?
>
> thanx christian
>
>

#106911
Jun 16, 2007 at 3:14pm

well thanx,

i think this is a better and more easy way to substract the people from the background than i have tryed before.

now my problem is that i do not know how use the jit.p.vishnu / jit.p.shiva objects. is tested a bit but it was not possible to give the system a special form. i want that the whole shape (shadow) of the tracked people consists out of particles / one big particle system. is there a way to say that the particles should move in the in an fixed but moving form?

christian

#106912
Jun 17, 2007 at 11:21pm

hello, me again!

up on the way to track the world. hard stuff for me! to visualize my problem i have uploaded a test.mov and my patch – http://www.uni-weimar.de/~rptm7020/max – because of my limited max/jitter knowledge i do not know how to read, interpret and use the data of the tracked persons. i have the coordinates of the tracking points (red crosses). i want to fill the black shadow of the persons with particles. therefor i tryed to discripe the plane (black area /shadow) of the tracked persons. with no succsess. can anyone help me? how can i give an particle system an fixed form? (the form of the shadow / people). is there a way in max or do i have to send the data to flash or java???

thanx christian

max v2;
#N vpatcher 0 0 1280 702;
#P origin 0 128;
#P window setfont “Sans Serif” 9.;
#P window linecount 1;
#P newex 204 477 102 9109513 cv.jit.features.draw;
#P toggle 105 760 15 0;
#P message 105 780 53 9109513 useroi $1;
#P newex 35 818 101 9109513 print cv.jit.features;
#N vpatcher 233 108 730 594;
#P window setfont “Sans Serif” 9.;
#P message 95 386 83 9109513 roi $3 $4 $1 $2;
#P newex 95 361 175 9109513 pack 0 0 0 0;
#P newex 150 301 54 9109513 maximum;
#P newex 95 301 54 9109513 maximum;
#P newex 260 301 51 9109513 minimum;
#P newex 205 301 51 9109513 minimum;
#P newex 95 253 76 9109513 unpack 0 0 0 0;
#P newex 50 170 41 9109513 sel 0 1;
#P newex 104 73 27 9109513 t l l;
#P newex 50 146 40 9109513 change;
#P newex 50 123 31 9109513 == 1;
#P message 50 102 20 9109513 $3;
#P newex 121 96 78 9109513 zl slice 2;
#P newex 95 230 49 9109513 zl join;
#P newex 134 207 36 9109513 zl reg;
#P newex 95 207 36 9109513 zl reg;
#P newex 104 50 65 9109513 route mouse;
#P inlet 104 30 15 0;
#P outlet 95 428 15 0;
#P fasten 10 0 7 0 109 96 55 96;
#P connect 7 0 8 0;
#P connect 8 0 9 0;
#P connect 9 0 11 0;
#P fasten 11 0 3 0 55 198 100 198;
#P connect 3 0 5 0;
#P connect 5 0 12 0;
#P connect 12 0 15 0;
#P connect 15 0 17 0;
#P connect 17 0 18 0;
#P connect 18 0 0 0;
#P connect 1 0 2 0;
#P connect 2 0 10 0;
#P connect 10 1 6 0;
#P connect 6 0 3 1;
#P fasten 11 1 4 0 70 194 139 194;
#P connect 4 0 5 1;
#P connect 12 2 15 1;
#P fasten 12 1 16 0 122 285 155 285;
#P connect 16 0 17 1;
#P fasten 6 0 4 1 126 129 165 129;
#P fasten 12 3 16 1 166 285 199 285;
#P fasten 12 0 13 0 100 294 210 294;
#P connect 13 0 17 2;
#P fasten 12 2 13 1 144 285 251 285;
#P fasten 12 1 14 0 122 285 265 285;
#P connect 14 0 17 3;
#P fasten 12 3 14 1 166 285 306 285;
#P pop;
#P newobj 35 766 60 9109513 p make_roi;
#P flonum 728 424 35 9 0. 1. 3 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P number 800 422 35 9 0 255 3 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P message 800 441 62 9109513 distance $1;
#P message 728 442 67 9109513 threshold $1;
#P user jit.pwindow 16 510 314 241 0 1 0 0 1 0;
#P newex 30 475 76 9109513 cv.jit.features;
#P user jit.pwindow 374 214 322 242 0 1 0 0 1 0;
#P number 486 148 35 9 0 255 3 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 387 175 91 9109513 jit.op @op < @val 0;
#P newex 387 141 66 9109513 jit.rgb2luma;
#P user ubumenu 358 88 60 9109513 0 1 1 0;
#X add pass;
#X add *;
#X add /;
#X add +;
#X add -;
#X add +m;
#X add -m;
#X add %;
#X add min;
#X add max;
#X add abs;
#X add avg;
#X add absdiff;
#X add wrap;
#X add fold;
#X add !pass;
#X add !/;
#X add !-;
#X add !%;
#X add &;
#X add |;
#X add ^;
#X add ~;
#X add >>;
#X add < <;
#X add &&;
#X add ||;
#X add !;
#X add >;
#X add < ;
#X add >=;
#X add < =;
#X add ==;
#X add !=;
#X add >p;
#X add

#X add >=p;
#X add < =p;
#X add ==p;
#X add !=p;
#X add sin;
#X add cos;
#X add tan;
#X add asin;
#X add acos;
#X add atan;
#X add atan2;
#X add sinh;
#X add cosh;
#X add tanh;
#X add asinh;
#X add acosh;
#X add atanh;
#X add exp;
#X add exp2;
#X add ln;
#X add log2;
#X add log10;
#X add hypot;
#X add pow;
#X add sqrt;
#X add ceil;
#X add floor;
#X add round;
#X add trunc;
#X add ignore;
#X prefix_set 0 0 0;
#P message 127 43 28 9109513 stop;
#P message 528 111 32 9109513 getop;
#N vpatcher 564 112 981 323;
#P window setfont “Sans Serif” 9.;
#P newex 60 106 55 9109513 prepend op;
#P user ubumenu 227 61 60 9109513 0 1 1 0;
#X add pass;
#X add *;
#X add /;
#X add +;
#X add -;
#X add +m;
#X add -m;
#X add %;
#X add min;
#X add max;
#X add abs;
#X add avg;
#X add absdiff;
#X add !pass;
#X add !/;
#X add !-;
#X add !%;
#X add &;
#X add |;
#X add ^;
#X add ~;
#X add >>;
#X add < <;
#X add &&;
#X add ||;
#X add !;
#X add >;
#X add < ;
#X add >=;
#X add < =;
#X add ==;
#X add !=;
#X add >p;
#X add

#X add >=p;
#X add < =p;
#X add ==p;
#X add !=p;
#X add sin;
#X add cos;
#X add tan;
#X add asin;
#X add acos;
#X add atan;
#X add atan2;
#X add sinh;
#X add cosh;
#X add tanh;
#X add asinh;
#X add acosh;
#X add atanh;
#X add exp;
#X add exp2;
#X add ln;
#X add log2;
#X add log10;
#X add hypot;
#X add pow;
#X add sqrt;
#X add ceil;
#X add floor;
#X add round;
#X add trunc;
#X add ignore;
#X prefix_set 0 0 0;
#P user ubumenu 163 61 60 9109513 0 1 1 0;
#X add pass;
#X add *;
#X add /;
#X add +;
#X add -;
#X add +m;
#X add -m;
#X add %;
#X add min;
#X add max;
#X add abs;
#X add avg;
#X add absdiff;
#X add !pass;
#X add !/;
#X add !-;
#X add !%;
#X add &;
#X add |;
#X add ^;
#X add ~;
#X add >>;
#X add < <;
#X add &&;
#X add ||;
#X add !;
#X add >;
#X add < ;
#X add >=;
#X add < =;
#X add ==;
#X add !=;
#X add >p;
#X add

#X add >=p;
#X add < =p;
#X add ==p;
#X add !=p;
#X add sin;
#X add cos;
#X add tan;
#X add asin;
#X add acos;
#X add atan;
#X add atan2;
#X add sinh;
#X add cosh;
#X add tanh;
#X add asinh;
#X add acosh;
#X add atanh;
#X add exp;
#X add exp2;
#X add ln;
#X add log2;
#X add log10;
#X add hypot;
#X add pow;
#X add sqrt;
#X add ceil;
#X add floor;
#X add round;
#X add trunc;
#X add ignore;
#X prefix_set 0 0 0;
#P outlet 60 126 15 0;
#P user ubumenu 99 61 60 9109513 0 1 1 0;
#X add pass;
#X add *;
#X add /;
#X add +;
#X add -;
#X add +m;
#X add -m;
#X add %;
#X add min;
#X add max;
#X add abs;
#X add avg;
#X add absdiff;
#X add !pass;
#X add !/;
#X add !-;
#X add !%;
#X add &;
#X add |;
#X add ^;
#X add ~;
#X add >>;
#X add < <;
#X add &&;
#X add ||;
#X add !;
#X add >;
#X add < ;
#X add >=;
#X add < =;
#X add ==;
#X add !=;
#X add >p;
#X add

#X add >=p;
#X add < =p;
#X add ==p;
#X add !=p;
#X add sin;
#X add cos;
#X add tan;
#X add asin;
#X add acos;
#X add atan;
#X add atan2;
#X add sinh;
#X add cosh;
#X add tanh;
#X add asinh;
#X add acosh;
#X add atanh;
#X add exp;
#X add exp2;
#X add ln;
#X add log2;
#X add log10;
#X add hypot;
#X add pow;
#X add sqrt;
#X add ceil;
#X add floor;
#X add round;
#X add trunc;
#X add ignore;
#X prefix_set 0 0 0;
#P user ubumenu 35 61 60 9109513 0 1 1 0;
#X add pass;
#X add *;
#X add /;
#X add +;
#X add -;
#X add +m;
#X add -m;
#X add %;
#X add min;
#X add max;
#X add abs;
#X add avg;
#X add absdiff;
#X add !pass;
#X add !/;
#X add !-;
#X add !%;
#X add &;
#X add |;
#X add ^;
#X add ~;
#X add >>;
#X add < <;
#X add &&;
#X add ||;
#X add !;
#X add >;
#X add < ;
#X add >=;
#X add < =;
#X add ==;
#X add !=;
#X add >p;
#X add

#X add >=p;
#X add < =p;
#X add ==p;
#X add !=p;
#X add sin;
#X add cos;
#X add tan;
#X add asin;
#X add acos;
#X add atan;
#X add atan2;
#X add sinh;
#X add cosh;
#X add tanh;
#X add asinh;
#X add acosh;
#X add atanh;
#X add exp;
#X add exp2;
#X add ln;
#X add log2;
#X add log10;
#X add hypot;
#X add pow;
#X add sqrt;
#X add ceil;
#X add floor;
#X add round;
#X add trunc;
#X add ignore;
#X prefix_set 0 0 0;
#P newex 60 85 202 9109513 pak * * * *;
#P connect 1 1 0 0;
#P connect 0 0 6 0;
#P connect 6 0 3 0;
#P connect 2 1 0 1;
#P connect 4 1 0 2;
#P connect 5 1 0 3;
#P pop;
#P newobj 464 109 55 9109513 p multi_op;
#P number 127 108 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P flonum 164 108 49 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P newex 383 109 72 9109513 prepend op;
#P newex 112 190 30 9109513 print;
#P newex 29 164 95 9109513 jit.op @op * @val 10;
#B color 5;
#P flonum 158 22 35 9 0 0 0 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P message 158 43 42 9109513 rate $1;
#P message 95 43 28 9109513 read;
#P flonum 51 23 35 9 0.5 0 1 139 0 0 0 221 221 221 222 222 222 0 0 0;
#P toggle 17 23 15 0;
#P newex 17 43 44 9109513 metro 2;
#P newex 17 81 103 9109513 jit.qt.movie 320 240;
#P user jit.pwindow 16 211 322 242 0 1 0 0 1 0;
#P connect 3 0 2 0;
#P fasten 2 0 1 0 22 74 22 74;
#P fasten 6 0 1 0 163 69 22 69;
#P fasten 5 0 1 0 100 69 22 69;
#P fasten 15 0 1 0 132 69 22 69;
#P connect 8 0 0 0;
#P fasten 31 0 22 0 209 508 26 508 22 508;
#P fasten 1 0 8 0 22 142 34 142;
#P fasten 14 0 8 0 533 134 34 134;
#P fasten 13 0 8 0 469 134 34 134;
#P fasten 10 0 8 0 388 134 34 134;
#P fasten 20 0 21 0 380 464 35 464;
#P fasten 27 0 21 0 40 876 300 876 300 620 35 620;
#P fasten 29 0 21 0 110 878 302 878 302 622 35 622;
#P fasten 23 0 21 0 733 465 35 465;
#P fasten 24 0 21 0 805 463 35 463;
#P connect 22 1 27 0;
#P connect 27 0 28 0;
#P connect 4 0 2 1;
#P connect 30 0 29 0;
#P connect 8 1 9 0;
#P fasten 12 0 8 1 132 129 119 129;
#P fasten 11 0 8 1 169 129 119 129;
#P connect 7 0 6 0;
#P fasten 21 0 31 0 35 499 177 499 177 478 209 478;
#P fasten 20 0 31 1 380 482 301 482;
#P connect 18 0 20 0;
#P connect 16 1 10 0;
#P fasten 1 0 17 0 22 124 22 131 392 131;
#P connect 17 0 18 0;
#P connect 19 0 18 1;
#P connect 26 0 23 0;
#P connect 25 0 24 0;
#P pop;

#106913

You must be logged in to reply to this topic.